rt,这是什么回事
#include<bits/stdc++.h>
using namespace std;
#define int long long
inline int read(){
int x=0,f=1;char ch=getchar();
while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}
while (ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+ch-48;ch=getchar();}
return x*f;
}
int n=read(),m=read(),sum[1000005],ans=-1e18;
struct node{
int tim,zhi;
};
deque<node> dq;//单调递增
signed main(){
for(int i=1; i<=n; i++)
sum[i]=sum[i-1]+read();
dq.push_back(node{(int)1e18,(int)0});
for(int i=1; i<=n; i++){
while(dq.empty()==false&&dq.front().tim+m<i)
dq.pop_front();
ans=max(ans,sum[i]-dq.front().zhi);
while(dq.empty()==false&&dq.back().zhi>=sum[i])
dq.pop_back();
dq.push_back(node{i,sum[i]});
ans=max(ans,sum[i]-dq.front().zhi);
}
cout<<ans;
return 0;
}
我已经找出错了,但要不要加强数据