记录编号 174192 评测结果 AAAAAAAAAA
题目名称 数字游戏 最终得分 100
用户昵称 Gravatar0 是否通过 通过
代码语言 C++ 运行时间 0.068 s
提交时间 2015-07-31 17:11:05 内存使用 0.70 MiB
显示代码纯文本
  1. # include <cstdio>
  2. # include <iostream>
  3. # include <cstring>
  4. # include <deque>
  5.  
  6. using namespace std;
  7.  
  8. const int MAXN = 100001;
  9.  
  10. int ans;
  11. int n,s,t;
  12. int a[MAXN];
  13. bool flag;
  14. int temp1;
  15.  
  16. deque <int> q;
  17.  
  18. inline int in() {
  19. temp1=0;
  20. char c=getchar();
  21. while(c<48||c>57) {
  22. if(c==45)
  23. flag=1;
  24. c=getchar();
  25. }
  26. for(; c>=48&&c<=57; c=getchar())
  27. temp1=temp1*10+c-48;
  28. if(flag) {
  29. flag=0;
  30. return -temp1;
  31. }
  32. return temp1;
  33. }
  34.  
  35. int main() {
  36. int i,j,x;
  37. freopen("ggame.in","r",stdin);
  38. freopen("ggame.out","w",stdout);
  39. n=in();
  40. s=in();
  41. t=in();
  42. for(i = 1; i <= n; ++i) {
  43. x=in();
  44. a[i] = a[i - 1] + x;
  45. }
  46. for(i = 1; i <= n; ++i) {
  47. // printf("Normal\n");
  48. while(!q.empty() && i - q.front() > t) q.pop_front();
  49. if(i - s >= 0) {
  50. // printf("Normal\n");
  51. while(!q.empty() && a[q.back()] >= a[i - s]) q.pop_back();
  52. q.push_back(i - s);
  53. }
  54. if(q.empty()) continue;
  55. if(a[i] - a[q.front()] > ans)
  56. ans = a[i] - a[q.front()];
  57. }
  58. printf("%d",ans);
  59. return 0;
  60. }