Pagini recente » Cod sursa (job #1933068) | Cod sursa (job #1288721) | Cod sursa (job #488456) | Cod sursa (job #2970924) | Cod sursa (job #1128617)
#include <cstdio>
#include <algorithm>
using namespace std;
const long long INFI = 1LL * 2e18;
const int NMAX = 503;
long long D[NMAX][NMAX];
int L[NMAX];
int main () {
freopen ("podom.in", "r", stdin);
freopen ("podom.out", "w", stdout);
int N, i, j, k, f;
scanf ("%d", &N);
for (i = 0; i <= N; ++i)
scanf ("%d", L + i);
for (i = 1; i < N; ++i)
D[i][i + 1] = L[i - 1] * L[i] * L[i + 1];
for (i = 2; i <= N; ++i) {
for (j = 1; j <= N - i; ++j) {
f = j + i;
D[j][f] = INFI;
for (k = j; k <= f; ++k)
D[j][f] = min (D[j][f], D[j][k] + D[k + 1][f] + L[j - 1] * L[k] * L[f]);
}
}
printf ("%lld", D[1][N]);
}