提交时间:2024-04-22 13:20:14
运行 ID: 144298
#include <stdio.h> #include <string.h> #include <algorithm> #include <math.h> using namespace std; typedef long long LL; const int MAX=0x3f3f3f3f; int a[105][105] , dp[105][105],n,m; int Max(int a,int b,int c) { return max( max(a,b) , c ); } int main() { while (~scanf("%d%d",&n,&m) && n+m) { for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) scanf("%d",&a[i][j]); memset(dp,0,sizeof(dp)); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) for(int k=1;k<=j;k++) dp[i][j] = Max( dp[i][j] ,dp[i-1][j] ,dp[i-1][ j-k ]+a[i][k] ); printf("%d\n",dp[n][m]); } return 0; }