Pagini recente » Cod sursa (job #415362) | Cod sursa (job #2038942) | Cod sursa (job #2171392) | Cod sursa (job #153062) | Cod sursa (job #1106484)
#include<stdio.h>
#include<limits.h>
#define DIM 505
FILE *f=fopen("podm.in","r"), *g=fopen("podm.out","w");
long int n, v[DIM];
long long int a[DIM][DIM];
void citire(){
long int i;
fscanf(f,"%ld\n",&n);
for(i=1;i<=n+1;i++)
fscanf(f,"%ld",&v[i]);
}
void rezolvare(){
long int l, i, j, k;
long long int minim, cost;
for(l=2;l<=n;l++)
for( i=1; i+l-1<=n; i++ ){
j= i+l-1;
minim=LONG_LONG_MAX;
for(k=i;k<=j-1;k++){
cost= a[i][k] + a[k+1][j] + 1LL * v[i] * v[k+1] * v[j+1];
if( cost<minim ) minim=cost;
}
a[i][j]=minim;
}
fprintf(g,"%lld\n",a[1][n]);
}
int main(){
citire();
rezolvare();
return 0;
}