Pagini recente » Cod sursa (job #1888402) | Cod sursa (job #1166535) | Cod sursa (job #525435) | Cod sursa (job #827390) | Cod sursa (job #432398)
Cod sursa(job #432398)
#include <cstdio>
#include <string>
#define INF 0x3f3f3f
#define nmax 510
#define ll long long
using namespace std;
ll bst [nmax][nmax];
int i, j, k, m, d [nmax], n;
int main ()
{
freopen ("podm.in", "r", stdin);
freopen ("podm.out", "w", stdout);
scanf ("%d\n", &n);
for (i = 0; i <= n; i++)
scanf ("%d", &d [i]);
memset (bst, INF, sizeof (bst));
//debug (bst);
for (i = 0; i <= n; i++) bst [i][i] = 0;
for (i = 1; i < n; i++) bst [i][i + 1] = d [i - 1] * d [i] * d [i + 1];
for (k = 2; k < n; k++)
for (i = 1; i <= n - k; i++)
{
j = i + k;
for (m = i; m < j; m++)
bst [i][j] = min (bst [i][j], bst [i][m] + bst [m + 1][j] + d [i - 1] * d [m] * d [j]);
}
printf ("%lld\n", bst [1][n]);
return 0;
}