这么短的能量项链!!!
代码在这:
#include <bits/stdc++.h>
using namespace std;
int s[2010];
int dp[2010][2010];
int main()
{
int n;
int maxn=0;
scanf("%d",&n);
for(int i=1;i<=n;++i)
scanf("%d",&s[i]); s[i+n]=s[i];
for(int i=2*n-1;i;i--){
for(int j=i+1;j<=i+n;++j){
for(int k=i;k<j;++k)
dp[i][j]=max(dp[i][j],dp[i][k]+dp[k+1][j]+s[i]*s[k+1]*s[j+1]);
}
}
for(int i=1;i<=n;++i) maxn=max(maxn,dp[i][i+n-1]);
printf("%d\n",maxn);
return 0;
}