讨论 / WA:50 为什么啊。。
tjsudys 2013-01-16 07:56:00
点我顶贴 收藏 删除
#include<stdio.h>

long int f[600][600]={0},a[251];

int max(int t,int b)

{

return t>b? t:b;

}

main()

{

int i,j,n,k,t=0;

scanf("%d",&n);

for(i=1;i<=n;i++)

{

scanf("%d",&a[i]);

a[i+n]=a[i];

}

for(i=2;i<=n;i++)

for(j=1;j<=n;j++)

{

for(k=j+1;k<=i+j-1;k++)

{

f[j][j+i]=max(f[j][k]+f[k][j+i]+a[j]*a[k]*a[j+i],f[j][j+i]);

}

}

for(i=1;i<=n;i++)t=max(t,f[i][i+n]);

printf("%d",t);

return 0;

}

查看更多回复
提交回复