代码如下,求调
#include<bits/stdc++.h>
using namespace std;
const int N = 6e5+9;
int n , m;
int a[N] , ans[N] , f[N] , d[N];
deque<int>maxq;
int fans;
int main(){
cin>>n>>m;
for(int i = 1 ; i <= n ; i++){
cin>>a[i];
}
for(int i = 1 ; i<=n;i++){
f[i] = f[i-1] + a[i];
}
int tmp = 0 ;
for(int i = 1 ; i <= m;i++ ){
for(int j = i ; j <= n ; j++){
if(j == i) tmp = f[i];
else{
tmp-=a[j-i];
tmp+=a[j];
}
while(!maxq.empty()&&maxq.back()<tmp) maxq.pop_back();
maxq.push_back(tmp);
}
}
cout<<maxq.front();
return 0;
}