Pagini recente » Cod sursa (job #601261) | Cod sursa (job #1162575) | Cod sursa (job #1740989) | Cod sursa (job #1831382) | Cod sursa (job #1144312)
#include <stdio.h>
long long x[501], m[502][502];
int main(){
long long n, i, d, j, akm;
FILE *fin, *fout;
fin=fopen("podm.in", "r");
fout=fopen("podm.out", "w");
fscanf(fin, "%lld", &n);
for(i=0; i<=n; i++){
fscanf(fin, "%lld", &x[i]);
}
for(i=1; i<n; i++){
m[i][i+1]=x[i-1]*x[i]*x[i+1];
}
for(d=2; d<n; d++){
for(i=1; i<=n-d; i++){
m[i][i+d]=2000000000000000000;
for(j=i; j<i+d; j++){
akm=m[i][j]+m[j+1][i+d]+(x[i-1]*x[j]*x[i+d]);
if(akm<m[i][i+d]){
m[i][i+d]=akm;
}
}
}
}
fprintf(fout, "%lld\n", m[1][n]);
fclose(fin);
fclose(fout);
return 0;
}