Pagini recente » Cod sursa (job #1830092) | Cod sursa (job #2762343) | Cod sursa (job #3039043) | Cod sursa (job #1128409) | Cod sursa (job #1897224)
#include <cstdio>
using namespace std;
int n,i,j,k,d[501];
long long s,min1,a[501][501];
int main()
{
freopen("podm.in","r",stdin);
freopen("podm.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n+1;i++)
{
scanf("%d",&d[i]);
a[i][i]=0;
}
for(j=1;j<=n-1;j++)
for(i=1;i+j<=n;i++)
{
if (j==1) a[i][i+1]=d[i]*d[i+1]*d[i+2];
else
{
min1=999999999999999999;
//min1=1<<62;
for(k=i;k<i+j;k++)
{
s=1LL*a[i][k]+a[k+1][i+j]+d[i]*d[k+1]*d[i+j+1];
if(s<min1)
min1=s;
}
a[i][i+j]=min1;
}
}
/*
for(i=1;i<=n;i++,printf("\n"))
for(j=1;j<=n;j++)
printf("%lld ",a[i][j]);
*/
printf("%lld\n",a[1][n]);
return 0;
}