Pagini recente » Cod sursa (job #2133453) | Cod sursa (job #706755) | Cod sursa (job #2658608) | Cod sursa (job #629297) | Cod sursa (job #371902)
Cod sursa(job #371902)
#include <cstdio>
#include <algorithm>
using namespace std;
#define Nmax 503
int n, i, j, k, l, d[Nmax];
long long a[Nmax][Nmax];
void podm () {
for (i = 1; i < n; i++)
a[i][i+1] = (long long)d[i] * d[i+1] * d[i+2];
for (k = 3; k <= n; k++)
for (i = 1; i <= n; i++) {
j = i + k - 1; a[i][j] = (long long)1 << 60;
if (j > n) j = n;
for (l = i + 1; l <= j; l++)
a[i][j] = min (a[i][j], a[i][l-1] + a[l][j] + (long long)d[i] * d[l] * d[j+1]);
}
}
int main () {
FILE *f = fopen ("podm.in", "r");
FILE *g = fopen ("podm.out", "w");
fscanf (f, "%d", &n);
for (i = 1; i <= n + 1; i++)
fscanf (f, "%d", &d[i]);
podm ();
fprintf (g, "%lld", a[1][n]);
fclose (f);
fclose (g);
return 0;
}