```
#include <bits/stdc++.h>
using namespace std;
#define INF 0x3f3f3f3f
const int N=103;
int f,v,m[N][N],dp[N][N],b[N][N],ans=-1e7;
void show(int i,int j){
if(i==0) return;
show(i-1,b[i][j]-1);
cout<<b[i][j]<<' ';
}
int main(){
cin>>f>>v;
for(int i=1;i<=f;i++){
for(int j=1;j<=v;j++){
cin>>m[i][j];
}
}
memset(dp,0xc0,sizeof dp);
for(int i=1;i<=v;i++) dp[0][i]=0;
for(int i=1;i<=f;i++) dp[i][0]=0;
for(int i=1;i<=f;i++){
for(int j=i;j<=v-f+i;j++){
for(int k=i;k<=j;k++){
if(dp[i][j]<dp[i-1][k-1]+m[i][k]){
dp[i][j]=dp[i-1][k-1]+m[i][k];
b[i][j]=k;
}
}
}
}
cout<<dp[f][v]<<endl;
show(f,v);
return 0;
}
```
by zccc1021 @ 2023-07-16 14:47:48