全爆求调
查看原帖
全爆求调
1311900
Greeper楼主2025/1/19 11:29

rt,样例可以,#1-#10wa,最好告诉我错误,不要直接给我AC code

#include<bits/stdc++.h>
using namespace std;
long long n,st[205],en[205],f[205][205];
long long ans=INT_MIN;
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>st[i];
		st[i+n]=st[i];
		if(i-1)
			en[i-1]=en[n+i-1]=st[i];
		else
			en[n]=en[2*n]=st[i];
	}
	for(int i=1;i<2*n;i++)
		f[i][i+1]=st[i]*en[i]*en[i+1];
	for(int i=3;i<=n;i++)
	{
		for(int j=1;j<=(2*n)-i+1;j++)
		{
			int jt=j+i;
			for(int k=j+1;k<=jt-1;k++)
			{
				f[j][jt]=max(f[j][jt],f[j][k]+f[k+1][jt]+st[j]*en[k]*en[jt]);
			}
		}
	}
	for(int i=1;i<=n;i++)ans=max(ans,f[i][i+n]);
	cout<<ans;
	return 0;
}
//t,f,p
2025/1/19 11:29
加载中...