f[i][j] 前i个中选出 j组的最大值
i不选 f[i][j]=max(f[i][j],f[i-1][j]);
i选 f[i][j]=max(f[i][j],f[i-m][j-1]+a[i]+a[i-1]..+a[i-m+1])
#include<iostream>
using namespace std;
const int N=5005;
long long sum[N],f[N][N];
int n,m,k;
int main(){
scanf("%d %d %d",&n,&m,&k);
for(int i=1;i<=n;i++){
scanf("%d",&sum[i]);
sum[i]+=sum[i-1];
}
for(int i=m;i<=n;i++)
for(int j=1;j<=k;j++)
f[i][j]=max(f[i-1][j],f[i-m][j-1]+sum[i]-sum[i-m]);
cout<<f[n][k]<<endl;
return 0;
}