求助
查看原帖
求助
664677
zzyayyz楼主2024/7/4 15:55

简单码了一下,高精或者int128之后写,问题是为啥全都RE了

#include<iostream>
#include<cmath>
using namespace std;
long long f[30][30],a[30][30];
long long ans[30];long long leans=0;int n,m;
long long guiling()
{
    for(int j=1;j<=m;j++)
	{
		for(int i=1;i<=j;i++)
		{
			f[i][j]=0;
		}
	}
}
long long cheng(int k)
{
	long long l;
	l=1<<k;
	return l;
}
long long dp(int k)
{
	guiling();
	ans[k]=0;
	for(int i=1;i<=m;i++)
	{
		for(int j=m;j>=i;j--)
		{
			f[i][j]=max(f[i-1][j]+a[k][i-1]*cheng(m-j+i-1),f[i][j]);
			f[i][j]=max(f[i][j+1]+a[k][j+1]*cheng(m-j+i-1),f[i][j]);
		}
	}
	for(int i=1;i<=m;i++)
	{
		ans[k]=max(ans[k],f[i][i]+a[k][i]*cheng(m));
	}
	leans=leans+ans[k];
}
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		for(int j=1;j<=m;j++)
		{
			cin>>a[i][j];
		}
	}
	
	for(int i=1;i<=m;i++)
	{
		dp(i);
    }
	cout<<leans;
}
2024/7/4 15:55
加载中...