Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
6548 18级蔡越同 2021北京队选拔模拟赛1-A C++ 通过 100 57 MS 3384 KB 737 2021-04-03 14:45:08

Tests(10/10):


#include <bits/stdc++.h> #define int long long using namespace std; int n,a[200010],pre[200010]; double ans; double f(int x,int mid){ return (double)((pre[n]-pre[n-x])+(pre[mid]-pre[mid-x-1]))/(double)(x*2+1)-(double)a[mid]; } signed main(){ scanf("%lld",&n); for(int i=1;i<=n;i++){ scanf("%lld",&a[i]); } sort(a+1,a+1+n); for(int i=1;i<=n;i++){ pre[i]=pre[i-1]+a[i]; } for(int i=1;i<=n;i++){ int l=1,r=min(i-1,n-i); int num=0; while(l<=r){ int mid=(l+r)/2; if(f(mid,i)>=f(mid-1,i)) l=mid+1,num=mid; else r=mid-1; } ans=max(ans,f(num,i)); } printf("%.4f",ans); return 0; }


测评信息: