比赛 20140321 评测结果 WWAAAAWAWW
题目名称 帮忙 最终得分 50
用户昵称 bigmingod 运行时间 0.355 s
代码语言 C++ 内存使用 1.81 MiB
提交时间 2014-03-21 21:47:32
显示代码纯文本
  1. #include<cstdio>
  2. #include<cstdlib>
  3. using namespace std;
  4. double ans;
  5. double a[100001],b[100001];
  6. int n,m;
  7. bool ok(double x)
  8. {
  9. int i;
  10. double min=0;
  11. for(i=1;i<=n;i++) b[i]=b[i-1]+a[i]-x;
  12. if(b[m]>=0) return true;
  13. for(i=m+1;i<=n;i++)
  14. {
  15. if(b[i-m]<min) min=b[i-m];
  16. if(b[i]-min>=0) return true;
  17. }
  18. return false;
  19. }
  20. double find(double l,double r)
  21. {
  22. if(r-l<=0.0001) return l;
  23. double mid=(l+r)/2;
  24. if(ok(mid)) return find(mid,r); else return find(l,mid);
  25. }
  26. int main()
  27. {
  28. freopen("helpz.in","r",stdin);
  29. freopen("helpz.out","w",stdout);
  30. int i;
  31. scanf("%d%d",&n,&m);
  32. for(i=1;i<=n;i++) scanf("%lf",&a[i]);
  33. ans=find(0,200000000);
  34. ans=ans*1000;
  35. printf("%0.0lf",ans);
  36. return 0;
  37. }