Pagini recente » Cod sursa (job #883654) | Cod sursa (job #379138) | Cod sursa (job #2721634) | Cod sursa (job #1169197) | Cod sursa (job #371555)
Cod sursa(job #371555)
#include<stdio.h>
#define NMAX 500
#define ll long long
int n,i,j,k;
ll min,minc;
ll d[NMAX];
ll m[NMAX][NMAX];
int main() {
freopen("podm.in","r",stdin);
freopen("podm.out","w",stdout);
scanf("%d",&n);
for(i=0;i<=n;i++) scanf("%lld",d+i);
for(i=0;i<n-1;i++) m[i][i+1]=d[i]*d[i+1]*d[i+2];
for(i=2;i<n;i++)
for(j=0;j<n-i;j++) {
min=d[j]*d[j+1]*d[j+i+1]+m[j+1][j+i];
for(k=j+1;k<j+i;k++) {
minc=m[j][k]+m[k+1][j+i]+d[j]*d[k+1]*d[j+i+1];
if(minc<min) min=minc;
}
m[j][j+i]=min;
}
printf("%lld\n",m[0][n-1]);
return 0;
}