Pagini recente » Cod sursa (job #332009) | Cod sursa (job #1469686) | Cod sursa (job #772296) | Cod sursa (job #3139484) | Cod sursa (job #1236296)
#include <cstdio>
#include <algorithm>
#define NMAX 505
using namespace std;
int n;
long long d[NMAX], dp[NMAX][NMAX];
void citire()
{
scanf("%d", &n);
for (int i = 0; i <= n; ++i)
scanf("%lld", &d[i]);
}
void rezolvare()
{
for (int l = 2; l <= n; ++l)
for (int i = 1, j = l; j <= n; ++i, ++j)
{
dp[i][j] = ((long long)1 << 62);
for (int k = i; k <= j; ++k)
dp[i][j] = min(dp[i][j], dp[i][k] + dp[k + 1][j] + d[i - 1] * d[j] * d[k]);
}
printf("%lld", dp[1][n]);
}
int main()
{
freopen("podm.in", "r", stdin);
freopen("podm.out", "w", stdout);
citire();
rezolvare();
return 0;
}