22 lines
443 B
C++
22 lines
443 B
C++
#include<cstdio>
|
|
#include<iostream>
|
|
using namespace std;
|
|
int n,a[201],f[201][201];
|
|
int sea(int i,int j)
|
|
{
|
|
if (f[i][j])return f[i][j];
|
|
if (i==j-1)return 0;
|
|
int ans=0;
|
|
for (int k=i+1;k<j;++k)
|
|
ans=max(ans,sea(i,k)+sea(k,j)+a[i]*a[j]*a[k]);
|
|
f[i][j]=ans;
|
|
return f[i][j];
|
|
}
|
|
int main()
|
|
{
|
|
scanf("%d",&n);
|
|
for (int i=1;i<=n;++i){scanf("%d",&a[i]);a[i+n]=a[i];}
|
|
int ans=0;
|
|
for (int i=1;i<=n;++i)ans=max(ans,sea(i,i+n));
|
|
printf("%d",ans);
|
|
} |