Pagini recente » Cod sursa (job #1652969) | Cod sursa (job #1114948) | Cod sursa (job #248906) | Cod sursa (job #1647712) | Cod sursa (job #1504089)
#include <cstdio>
#include <algorithm>
#define Dim 502
#define For(i, a, b) for (int i = (a); i <= (b); ++ i)
#define INF 100000000000000000L
using namespace std;
typedef long long Ll;
Ll bst[Dim][Dim], d[Dim];
int n;
int main()
{
freopen("podm.in", "r", stdin);
freopen("podm.out", "w", stdout);
scanf("%d", &n);
For(i, 0, n) scanf("%d", &d[i]);
For(i, 1, n) bst[i][i] = 0;
For(i, 1, n - 1) bst[i][i + 1] = d[i - 1] * d[i] * d[i + 1];
For(w, 2, n - 1)
For(i, 1, n - w)
{
int j = i + w;
bst[i][j] = INF;
For(k, i, j - 1)
bst[i][j] = min(bst[i][j],
bst[i][k] + bst[k + 1][j] + d[i - 1] * d[k] * d[j]);
}
printf("%lld\n", bst[1][n]);
return 0;
}