在其它平台交AC,选用C++11,全部TLE,求巨巨帮忙QwQ
查看原帖
在其它平台交AC,选用C++11,全部TLE,求巨巨帮忙QwQ
99869
xiao_cpp楼主2022/2/6 15:08
#include<bits/stdc++.h>
#define lolo long long
#define I128 __int128
using namespace std;
const I128 maxn=101;
I128 a[maxn][maxn],dp[maxn][maxn];
I128 n,m,ans;
I128 read(){
	I128 x=0,f=1;
    char ch=getchar();
    while(ch<'0'||ch>'9')
        if(ch=='-') f=-1,ch=getchar();
    while(ch>='0'&&ch<='9')
        x=x*10+ch-'0',ch=getchar();
    return x*f;
}
void write(I128 x){
    if(x<0){
        putchar('-');
        x=-x;
    }
    if(x>9) write(x/10);
    putchar(x%10+'0');
}
I128 calc(I128 base,I128 x){
	I128 res=1;
	while(x>0){
		if(x&1) res=base*res;
		x=x>>1;
		base=base*base;
	}
	return res;
}
int main(){
	n=read(),m=read(); 
	for(I128 i=1;i<=n;++i){
		for(I128 j=1;j<=m;++j){
			a[i][j]=read();
		}
	}
	for(I128 i=1;i<=n;++i){
		for(I128 ii=0;ii<=m;++ii){
			for(I128 jj=0;jj<=m;++jj){
				dp[ii][jj]=0;
			}
		}
		for(I128 len=1;len<=m;++len){
			for(I128 l=1,r=len;r<=m;++l,++r){
				dp[l][r]=max(dp[l+1][r]+a[i][l]*calc(2,m-len+1),dp[l][r-1]+a[i][r]*calc(2,m-len+1));
			}
		}
		ans+=dp[1][m];
	}
	write(ans);
}
2022/2/6 15:08
加载中...