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;
}
posted @ 2022-05-10 22:31  xhy666  阅读(28)  评论(0)    收藏  举报