比赛 |
20140321 |
评测结果 |
WWAAAAWAWW |
题目名称 |
帮忙 |
最终得分 |
50 |
用户昵称 |
bigmingod |
运行时间 |
0.355 s |
代码语言 |
C++ |
内存使用 |
1.81 MiB |
提交时间 |
2014-03-21 21:47:32 |
显示代码纯文本
- #include<cstdio>
- #include<cstdlib>
- using namespace std;
- double ans;
- double a[100001],b[100001];
- int n,m;
- bool ok(double x)
- {
- int i;
- double min=0;
- for(i=1;i<=n;i++) b[i]=b[i-1]+a[i]-x;
- if(b[m]>=0) return true;
- for(i=m+1;i<=n;i++)
- {
- if(b[i-m]<min) min=b[i-m];
- if(b[i]-min>=0) return true;
- }
- return false;
- }
- double find(double l,double r)
- {
- if(r-l<=0.0001) return l;
- double mid=(l+r)/2;
- if(ok(mid)) return find(mid,r); else return find(l,mid);
- }
- int main()
- {
- freopen("helpz.in","r",stdin);
- freopen("helpz.out","w",stdout);
- int i;
- scanf("%d%d",&n,&m);
- for(i=1;i<=n;i++) scanf("%lf",&a[i]);
- ans=find(0,200000000);
- ans=ans*1000;
- printf("%0.0lf",ans);
- return 0;
- }