提交时间:2024-04-06 14:39:43
运行 ID: 141905
#include<bits/stdc++.h> using namespace std; int n,m; long long a[105][105],dp[105][105]; //bool b[100][100]; int main(){ while(1){ memset(dp,0,sizeof(dp)); memset(a,0,sizeof(a)); cin>>n>>m; if(n==0&&m==0) break; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin>>a[i][j]; } } for(int i=1;i<=n;i++){ for(int j=0;j<=m;j++){ // dp[i][j]=max(a[i][j],dp[i][j-1]); for(int k=0;k<=j;k++){ dp[i][j]=max(dp[i][j],dp[i-1][j-k]+a[i][k]); } } } cout<<dp[n][m]<<endl; // for(int i=1;i<=n;i++){ // cout<<i<<" "<<2<<endl; // } } return 0; }