Pagini recente » Cod sursa (job #1704805) | Cod sursa (job #2990235) | Cod sursa (job #2378080) | Cod sursa (job #1972577) | Cod sursa (job #632011)
Cod sursa(job #632011)
#include <cstdio>
#include <iostream>
#define INF 200000000
#define MAX_N 505
using namespace std;
int dim[MAX_N], mat[MAX_N][MAX_N], n;
void read() {
scanf("%d", &n);
for(int i = 0; i <= n; i ++)
scanf("%d", &dim[i]);
}
void solve() {
for(int i = 1; i < n; i ++)
mat[i][i + 1] = dim[i -1] * dim[i] * dim[i + 1];
for(int d = 1; d < n; d ++)
for(int i = 1; i <= n - d; i ++) {
mat[i][i + d] = INF;
for(int k = i; k <= i + d; k ++)
mat[i][i + d] = min(mat[i][i + d], mat[i][k] + mat[k + 1][i + d] + dim[i -1] *
dim[k] * dim[i + d]);
}
}
int main() {
freopen("podm.in", "r", stdin);
freopen("podm.out", "w", stdout);
read();
solve();
printf ("%d\n", mat[1][n]);
return 0;
}