|
- #include<iostream>
- #include<cstdio>
- using namespace std;
- #define FOR(i,n,m) for(int i=n;i<=m;i++)
- int f[210][210],a[210];
- int n,ans=0;
- int main()
- {
- cin>>n;FOR(i,1,n) cin>>a[i];FOR(i,n+1,n*2) a[i]=a[i-n];
- FOR(i,2,n) FOR(j,1,2*n-i) FOR(k,j,j+i-2)
- f[j][j+i-1]=max(f[j][k]+f[k+1][j+i-1]+a[j]*a[j+i]*a[k+1],f[j][j+i-1]);
- FOR(i,1,n) if(f[i][n+i-1]>ans) ans=f[i][n+i-1];
- cout<<ans;return 0;
- }
复制代码 |
|