Pagini recente » Cod sursa (job #1852126) | Cod sursa (job #2027644) | Cod sursa (job #2193634) | Cod sursa (job #1790208) | Cod sursa (job #1759583)
#include<stdio.h>
#include<algorithm>
using namespace std;
FILE *f1=fopen("podm.in","r");
FILE *f2=fopen("podm.out","w");
int n,i,j,dist,k;
long long mat[505][505],inf=10000000000000000,v[505];
int main(){
fscanf(f1,"%d",&n);
for (i=1;i<=n+1;i++)
fscanf(f1,"%lld",&v[i]);
fclose(f1);
for (i=1;i<=n;i++)
mat[i][i+1]=v[i]*v[i+1]*v[i+2];
for (dist=2;dist<=n-1;dist++){
for (i=1;i<=n-dist;i++){
j=i+dist;
mat[i][j]=inf;
for (k=i;k<j;k++)
mat[i][j]=min(mat[i][j],mat[i][k]+mat[k+1][j]+v[i]*v[k+1]*v[j+1]);
}
}
fprintf(f2,"%lld",mat[1][n]);
fclose(f2);
return 0;
}