Pagini recente » Cod sursa (job #2650582) | Cod sursa (job #1920587) | Cod sursa (job #2398220) | Cod sursa (job #3231815) | Cod sursa (job #701723)
Cod sursa(job #701723)
#include <fstream>
#include <cstdio>
#define NMAx 512
#define oo (1LL<<60)
#define min(a,b) ((a)<(b)?(a):(b))
using namespace std;
int n;
long long M[NMAx][NMAx],D[NMAx];
void citire() {
freopen("podm.in","r",stdin);
scanf("%d",&n);
for(int i=0;i<=n;i++)
scanf("%d",&D[i]);
fclose(stdin);
}
void afis() {
freopen("podm.out","w",stdout);
printf("%lld",M[1][n]);
fclose(stdout);
}
int main() {
int Dif,i,j,k;
citire();
for(Dif=1;Dif<=n-1;Dif++)
for(i=1;i+Dif<=n;i++) {
j=i+Dif;
M[i][j]=oo;
for(k=i;k<j;k++)
M[i][j]=min(M[i][j],M[i][k]+M[k+1][j]+D[i-1]*D[k]*D[j]);
}
afis();
return 0;
}