求大神差错
查看原帖
求大神差错
31317
nothingness楼主2018/6/14 10:22

50分代码

#include "bits/stdc++.h"
using namespace std;

int n,a[201],j,ans,f[1001][1001];

int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
		scanf("%d",&a[i]),a[n+i]=a[i];
	for(int len=2;len<=n;len++)//长度
		for(int i=1;i<=n;i++)//左端点
		{
			j=i+len-1;//右端点
			for(int k=i;k<j;k++)//断点
				f[i][j]=max(f[i][j],f[i][k]+f[k+1][j]+a[i]*a[k+1]*a[j+1]);
		}
	for(int i=1;i<=n;i++)
		ans=max(ans,f[i][i+n-1]);
	printf("%d",ans);
	return 0;
}
2018/6/14 10:22
加载中...