Pagini recente » Cod sursa (job #1628568) | Cod sursa (job #1773207) | Cod sursa (job #2362302) | Cod sursa (job #1585616) | Cod sursa (job #1791289)
#include <iostream>
#include <cstdio>
#include <climits>
using namespace std;
unsigned long long m[524][524], d[524], n;
int main()
{
freopen("podm.in", "r", stdin );
freopen("podm.out", "w", stdout);
scanf("%llu", &n);
for(int i = 0; i <= n; i++)
scanf("%llu", &d[i]);
for(int i = 1; i <= n; i++)
for(int j = i + 1; j <= n; j++)
m[i][j] = ULLONG_MAX;
for(int l = 1; l < n; l++)
for(int i = 1, j = l + 1; i <= n - 1 && j <= n; i++, j++)
for(int k = i; k < j; k++)
m[i][j] = min(m[i][k] + m[k + 1][j] + d[i - 1] * d[k] * d[j], m[i][j]);
printf("%llu", m[1][n]);
return 0;
}