Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
6512 18级李灏冬 2021北京队选拔模拟赛1-A C++ 运行超时 30 1000 MS 25256 KB 1405 2021-04-03 08:59:41

Tests(3/10):


#include<bits/stdc++.h> #define int long long #define LD long double using namespace std; const int inf=0x3f3f3f3fll; int read(){ int res=0; int f=1; char ch=getchar(); while(ch<'0' || ch>'9'){ if(ch=='-') f=-1; ch=getchar(); } while(ch>='0' && ch<='9'){ res=res*10+ch-'0'; ch=getchar(); } return res*f; } void out(int x){ if(x>=10) out(x/10); putchar(x%10+'0'); } void out1(int x){ if(x<0) putchar('-'); out(abs(x)); } void out2(int x){ out1(x); putchar('\n'); } int n; LD a[200005]; LD ans=-2000000009.1; LD que[200005]; int top; LD GetMax(LD a,LD b){ if(a>=b) return a; return b; } void dfs(int x,LD sum,int num){ if(top%2!=0){ LD mem=(sum/((LD)num))-que[top/2+1]; ans=GetMax(ans,mem); } if(top%2==0){ LD mem=(sum/((LD)sum))-(que[top/2]+que[top/2+1])/2.0; ans=GetMax(ans,mem); } for(int i=x+1;i<=n;i++){ int mir=top; que[++top]=a[i]; dfs(i,sum+a[i],num+1); top=mir; } } signed main(){ n=read(); for(int i=1;i<=n;i++){ scanf("%Lf",&a[i]); } for(int i=1;i<=n;i++){ que[++top]=a[i]; dfs(i,a[i],1); top=0; } printf("%.4Lf\n",ans); return 0; }


测评信息: