Pagini recente » Cod sursa (job #1422692) | Cod sursa (job #613661) | Cod sursa (job #1074803) | Cod sursa (job #111658) | Cod sursa (job #420355)
Cod sursa(job #420355)
#include<stdio.h>
FILE *f,*g;
long long m[510][510],d[510],min,inf,p,n,k,i;
int main()
{ f=fopen("podm.in","r"); g=fopen("podm.out","w");
fscanf(f,"%lld",&n);
for(i=1;i<=n+1;i++) fscanf(f,"%lld",&d[i]);
for(i=1;i<n;i++) m[i][i+1]=d[i]*d[i+1]*d[i+2];
inf=1000000000000000000LL;
for(p=2;p<n;p++)
{ for(i=1;i<=n-p;i++)
{ min=inf;
for(k=i;k<i+p;k++) if(min>d[i]*d[k+1]*d[i+p+1]+m[i][k]+m[k+1][i+p]) min=d[i]*d[k+1]*d[i+p+1]+m[k+1][i+p]+m[i][k];
m[i][i+p]=min;
}
}
fprintf(g,"%lld",m[1][n]);
fclose(g);
return 0;
}