可惜提交时时间超时了
C++ 代码
#include<vector>
#include<iostream>
using namespace std;
//这个是用局部dp
//第一行输入两个整数n,m。
int main(){
int N,M;
cin>>N>>M;
vector<int> data(N+1,0);
for(int i=1;i<=N;i++){
cin>>data[i];
}
int res=data[1];
int s=1,e=1;
for(int i=1;i<=N;i++){
s=i;
e=i;
//这个是累计求和
int tmp=0;
//这个其实是计算局部dp
int maxValue=data[e];
while(e<=N&&(e-s)<M){
tmp+=data[e];
maxValue=max(maxValue,max(tmp,data[e]));
e++;
}
res=max(maxValue,res);
}
cout<<res<<endl;
return 0;
}