int128全WA求助

P1005 [NOIP2007 提高组] 矩阵取数游戏

乘 $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


|