Pagini recente » Cod sursa (job #9365) | Cod sursa (job #72771) | Cod sursa (job #3252329) | Cod sursa (job #2252041) | Cod sursa (job #2384073)
#include <bits/stdc++.h>
using namespace std;
#define NMAX 750
int mat[NMAX][NMAX];
int d[NMAX];
int main(){
freopen("podm.in","r", stdin);
freopen("podm.out", "w", stdout);
int n;
scanf("%d", &n);
for(int i = 0; i<=n; i++){
scanf("%d", &d[i]);
}
for(int i = 1; i<=n; i++) mat[i][i] = 0;
for(int i = 1; i<n; i++){
mat[i][i+1] = d[i-1]*d[i]*d[i+1];
}
for(int v = 2; v<n; v++){
for(int i = 1; i<=n-v; i++){
int j = v + i;
mat[i][j] = INT_MAX;
for(int k = i; k<j; k++){
mat[i][j] = min(mat[i][j], mat[i][k]+mat[k+1][j]+d[i-1]*d[k]*d[j]);
}
}
}
printf("%d", mat[1][n]);
}