估算了一下,发现int128也是ok的
#pragma GCC optimize(2)
#include <map>
#include <set>
#include <cmath>
#include <queue>
#include <vector>
#include <cstdio>
#include <cstring>
#include <climits>
#include <iostream>
#include <algorithm>
using namespace std;
typedef pair<int,int> PII;
typedef long long ll;
typedef __int128 lll;
const int N=85;
int n,m,g[N][N];
lll f[N][N];
lll get(int a[],int n)
{
for(int len=1;len<=n;len++)
for(int i=1;i+len-1<=n;i++)
{
int j=i+len-1;
lll k=n-len+1,ba=1;
k=ba<<k;
if(len==1) f[i][j]=k*a[i];
else
{
f[i][j]=k*a[i]+f[i+1][j];
f[i][j]=max(f[i][j],f[i][j-1]+k*a[j]);
}
}
return f[1][n];
}
void print(lll x)
{
if(x<0) putchar('-'),x=-x;
if(x>9)
print(x/10);
putchar('0'+x%10);
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>g[i][j];
lll ans=0;
for(int i=1;i<=n;i++)
{
ans+=get(g[i],m);
}
print(ans);
return 0;
}