Pagini recente » Cod sursa (job #2982409) | Cod sursa (job #433255) | Cod sursa (job #2818702) | Cod sursa (job #2570017) | Cod sursa (job #1435713)
#include <stdio.h>
#include <stdlib.h>
#define INF 1000000000000
FILE *fout;
long long mat[502][502];
int d[502];
int main()
{
FILE *fin;
int n, i, j, k;
long long min, x;
fin=fopen("podm.in", "r");
fscanf(fin, "%d", &n);
for(i=1; i<=n+1; i++)
fscanf(fin, "%d", &d[i]);
for(i=n-1; i>=1; i--)
for(j=i+1; j<=n; j++){
min=INF;
for(k=i; k<j; k++){
x=mat[i][k]+mat[k+1][j]+1LL*d[i]*d[k+1]*d[j+1];
if(x<min){
min=x;
mat[j][i]=k;
}
}
mat[i][j]=min;
}
fout=fopen("podm.out", "w");
fprintf(fout, "%lld\n", mat[1][n]);
fclose(fout);
return 0;
}