4378. 选取数对
感到疑惑
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N = 5010;
LL f[N][N],sum[N];
int main(){
int n,m,k,a;
cin>>n>>m>>k;
for(int i=1;i<=n;i++){
cin>>a;
sum[i]=sum[i-1]+a;
}
memset(f,0,sizeof f);
for(int i=1;i<=n;i++)
for(int j=1;j<=k;j++){
f[i][j]=max(f[i][j],f[i-1][j]);
if(i-m>=0) f[i][j]=max(f[i-m][j-1]+sum[i]-sum[i-m],f[i][j]);
}
for(int i=1;i<=n;i++){
for(int j=1;j<=k;j++){
cout<<f[i][j]<<" ";
}
cout<<endl;
}
cout<<f[n][k];
return 0;
}