8635722 2009-06-28 07:27:00
点我顶贴
收藏
删除
#include<stdio.h>
int a[201];
int max[201][201];
int main()
{
int n;
scanf("%d",&n);
int i,j,k;
for(i=1;i<=n;i++)
{scanf("%d",&a[i]);a[i+n]=a[i];}
int t;
int tmp;
for(k=1;k<n;k++)
for(i=1;i<=n;i++)
{
t=i+k;
for(j=i;j<t;j++)
{
tmp=max[i][j]+max[j+1][t]+a[i]*a[j+1]*a[t+1];
if(max[i][t]<tmp)
{max[i][t]=tmp;
// printf("%d %d %d",i,t,max[i][t]);
}
}
}
int big=0;
for(i=1;i<=n;i++)
if(max[i][i+n-1]>big) big=max[i][i+n-1];
printf("%d",big);
}