#include<cstdio>
#include<string.h>
#include<iostream>
#include<cmath>
#include<cstdlib>
#include<algorithm>
using namespace std;
int m[205][205];
int n,temp,p[205];
void matrixch(int p[],int n)
{
int i,j,k,r;
for(r=2;r<=n;r++)
for(i=1;i<=n;i++)
{
j=i+r-1;
m[i][j]=0;
for(k=i;k<j;k++)
{
if(k+1>n)
m[k+1][j]=m[k+1-n][j-n];
temp=m[i][k]+m[k+1][j]+p[i-1]*p[k]*p[j];
if(temp>m[i][j])
m[i][j]=temp;
}
}
}
int main()
{
int i;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&p[i]);
for(i=n;i<2*n;i++)
p[i]=p[i-n];
matrixch(p,n);
for(i=1;i<=n;i++)
if(m[i][i+n-1]>temp)
temp=m[i][i+n-1];
printf("%d\n",temp);
return 0;
}
noip 能量项链
最新推荐文章于 2024-06-15 20:56:36 发布