10分求助!!
查看原帖
10分求助!!
114154
陆朱良雨楼主2020/10/19 10:48
#include<bits/stdc++.h>
using namespace std;
#define N 1010
#define inf 99999999
int n,f[N][N],a[N],sum[N],ans=0;
int main(){
   cin>>n;
   memset(f,-inf,sizeof(-inf));
	for(int i=1;i<=n;i++) 
	{
		cin>>a[i];
		a[i+n]=a[i];
		f[i][i]=f[i+n][i+n]=0;
	}
	for(int lon=2;lon<=n;lon++)
	  for(int i=1;i<=2*n-lon+1;i++){
	  	int j=i+lon-1;
	  	for(int k=i;k<j;k++)
	  	f[i][j]=max(f[i][j],f[i][k]+a[k+1]*a[i]*a[j]+f[k+1][j]);
	  }
	for(int i=1;i<=n+1;i++){
		ans=max(ans,f[i][i+n-1]);
	}    
	cout<<ans<<endl;
	return 0;
}
2020/10/19 10:48
加载中...