Pagini recente » Cod sursa (job #2224559) | Cod sursa (job #1639817) | Cod sursa (job #355284) | Cod sursa (job #919063) | Cod sursa (job #1759577)
#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,v[503],k;
long long mat[503][503],inf=100000000000000000;
int main(){
fscanf(f1,"%d",&n);
for (i=1;i<=n+1;i++)
fscanf(f1,"%d",&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;
}