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