Pagini recente » Cod sursa (job #1894169) | Cod sursa (job #333712) | Cod sursa (job #1945189) | Cod sursa (job #1788760) | Cod sursa (job #1325560)
#include <iostream>
#include <cstdio>
#include <algorithm>
#define NMAX 505
#define inf 0x3f3f3f3f
using namespace std;
int d[NMAX], n;
long long int best[NMAX][NMAX];
void read()
{
scanf("%d\n", &n);
for (int i=0; i<=n; i++)
scanf("%d ", &d[i]);
}
void dyn()
{
for (int p=2; p<=n; p++){
for (int i=1; i<=n-p+1; i++){
int j = i + p - 1;
best[i][j] = inf;
for (int k=i; k<j; k++){
best[i][j] = min(best[i][j], best[i][k] + best[k+1][j] + 1LL*d[i-1]*d[k]*d[j]);
}
}
}
printf("%d\n", best[1][n]);
}
int main()
{
freopen("podm.in", "r", stdin);
freopen("podm.out", "w", stdout);
read();
dyn();
return 0;
}