1 条题解
-
0
#include<bits/stdc++.h> using namespace std; typedef long long LL; const int N=310000; LL f[N],s[N]; int q[N]; int main() { int n,m;scanf("%d%d",&n,&m); s[0]=0;for(int i=1;i<=n;i++)scanf("%lld",&s[i]),s[i]=s[i-1]+s[i]; int l=1,r=1;q[1]=0;f[0]=0; LL ans=-1ll<<60; for(int i=1;i<=n;i++) { while(l<=r && i-q[l]>m ) l++; ans=max(ans,s[i]-s[q[l]]); while(l<=r && s[q[r]]>=s[i] ) r--; q[++r]=i; } printf("%lld\n",ans); return 0; }
- 1
信息
- ID
- 1274
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 7
- 标签
- 递交数
- 305
- 已通过
- 68
- 上传者