代码:
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstring>
#define ll long long
using namespace std;
__int128 n,m;
__int128 a[85][85];
__int128 f[85][85];
__int128 rd(){
__int128 sum=0;
char c;
c=getchar();
while(c>='0'&&c<='9'){
sum=sum*10+c-'0';
c=getchar();
}
return sum;
}
void wt(__int128 x){
if(x>9) wt(x/10);
putchar((char)(x%10+'0'));
}
int main(){
n=rd();
m=rd();
for(int i=1;i<=n;++i){
for(int j=1;j<=m;++j){
a[i][j]=rd();
}
}
__int128 ans=0;
for(int i=1;i<=n;++i){
memset(f,0,sizeof f);
for(int j=1;j<=m;++j) f[j][j]=a[i][j]*2;
for(int len=2;len<=m;++len){
for(int j=1;j+len-1<=m;++j){
int k=j+len-1;
f[j][k]=max(f[j][k],max(f[j+1][k]*2+a[i][j]*2,f[j][k-1]*2+a[i][k]*2));
}
}
ans+=f[1][m];
}
wt(ans);
puts("");
return 0;
}
测试点2:
input:
5 5
0 0 0 0 0
0 0 0 0 1
876 1 566 920 598
259 945 123 659 997
176 478 293 464 278
output:
118214
求助!!!