乘 $2^i$ ,不是乘 $2$
by Reseamus @ 2022-01-20 08:54:51
我的代码(也许有用?)
```cpp
#include<bits/stdc++.h>
using namespace std;
const int N=85;
__int128 dp[N][N],a[N];
__int128 ans;
__int128 pow(int k)
{
__int128 res=1,t=2;
while(k)
{
if(k&1) res=res*t;
t=t*t;
k>>=1;
}
return res;
}
void output(__int128 x)
{
if(x>=10) output(x/10);
cout<<char(x%10+'0');
}
int main()
{
int n,m;
cin>>n>>m;
for(int l=1;l<=n;l++)
{
memset(dp,0,sizeof dp);
for(int i=1;i<=m;i++)
{
int x;
cin>>x;
a[i]=x;
}
for(int i=1;i<=m;i++)
for(int j=m;j>=i;j--)
{
dp[i][j]=max(dp[i][j],dp[i-1][j]+pow(m-j+i-1)*a[i-1]);
dp[i][j]=max(dp[i][j],dp[i][j+1]+pow(m-j+i-1)*a[j+1]);
}
__int128 maxx=0;
for(int i=1;i<=m;i++)
{
maxx=max(maxx,dp[i][i]+pow(m)*a[i]);
}
ans+=maxx;
}
output(ans);
getchar();
getchar();
return 0;
}
```
by Reseamus @ 2022-01-20 08:56:13