#include<bits/stdc++.h>
using namespace std;
const __int128 N=85,Mod=10000;
__int128 n,m,ans;
__int128 a[N],base[N],dp[N][N];
void read(__int128 &x)
{
x=0;
int f=1;
char ch;
if((ch=getchar())=='-') f=-f;
else x=x*10+ch-'0';
while((ch=getchar())>='0' && ch<='9')
x=x*10+ch-'0';
x*=f;
}
void print(__int128 x)
{
if(x<0)
{
x=-x;
putchar('-');
}
if(x>9)
print(x/10);
putchar(x%10+'0');
}
int main()
{
read(n);
read(m);
for(int i=1;i<=m+2;i++)
base[i]=base[i-1]*2;
while(n--)
{
memset(dp,0,sizeof(dp));
for(__int128 i=1;i<=m;i++)
{
read(a[i]);
}
for(__int128 i=1;i<=m;i++)
{
print(a[i]);
cout<<" ";
}
for(__int128 i=1;i<=m;i++)
for(__int128 j=m;j>=i;j--)
{
dp[i][j]=max(dp[i][j],dp[i-1][j]+base[m-j+i-1]*a[i-1]);
dp[i][j]=max(dp[i][j],dp[i][j+1]+base[m-j+i-1]*a[j+1]);
}
__int128 Max;
for(int i=1;i<=m;i++)
Max=max(Max,dp[i][i]+base[m]*a[i]);
ans=ans+Max;
}
//print(ans);
return 0;
}
为啥我的__int128输入输出函数会这样?
2 3
1 2 3
3 4 2
-379 2 3 -377 4 2