贪心+一点点DP:
直接上代码
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
int n,m,a[1000][100000],dp[10000];
int main(){
memset(dp,-111,sizeof(dp));
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
for(int j=1;j<m;j++)
scanf("%d",&a[i][j]);
for(int i=1;i<m;i++)
for(int j=1;j<=n;j++)
dp[i]=max(dp[i],a[j][i]);
for(int i=1;i<m;i++){
dp[i]=max(dp[i],dp[i]+dp[i-1]);
dp[0]=max(dp[i],dp[0]);
}
cout<<dp[0]<<endl;
return 0;
}