Pagini recente » Cod sursa (job #582243) | Cod sursa (job #809102) | Cod sursa (job #3276551) | Cod sursa (job #925621) | Cod sursa (job #467266)
Cod sursa(job #467266)
#include <cstdio>
#include <iostream>
using namespace std;
#define DN 501
#define PREAMULT 999999999999999LL
long long n,dim[DN],sol[DN][DN];
int main()
{
int i,j,k;
freopen("podm.in","r",stdin);
freopen("podm.out","w",stdout);
scanf("%lld",&n);
for(i=0; i<=n; i++) scanf("%lld",&dim[i]);
for (i=1; i<=n; i++) sol[i][i]=0;
for(i=1; i<n; i++) sol[i][i+1]=dim[i-1]*dim[i]*dim[i+1];
for(i=2; i<n; i++)
for(j=1; j<=n-i; j++) {
k=i+j;
sol[j][k]=PREAMULT;
for(int l=j;l<k; l++) sol[j][k]=min(sol[j][k],
sol[j][l]+sol[l+1][k]+dim[j-1]*dim[l]*dim[k]);
}
printf("%lld",sol[1][n]);
return 0;
}