Pagini recente » Cod sursa (job #2732683) | Cod sursa (job #2151582) | Cod sursa (job #886261) | Cod sursa (job #2353861) | Cod sursa (job #699425)
Cod sursa(job #699425)
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
#define maxN 505
#define inf (1LL << 60)
#define int64 long long
int64 M[maxN][maxN], D[maxN];;
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 ("%lld", &D[i]);
for (int d = 1; d < N; ++ d)
for (int i = 1; i <= N - d; ++ i)
{
M[i][i + d] = inf;
for (int k = i; k < i + d; ++ k)
M[i][i + d] = min (M[i][i + d], M[i][k] + M[k + 1][i + d] + D[i - 1] * D[k] * D[i + d]);
}
printf ("%lld", M[1][N]);
return 0;
}