比赛 |
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;
}