Pagini recente » Cod sursa (job #1685341) | Cod sursa (job #1568899) | Cod sursa (job #22755) | Cod sursa (job #678653) | Cod sursa (job #542246)
Cod sursa(job #542246)
// Parantezare optima de matrici
#include <fstream>
#include <iostream>
using namespace std;
#define MAXN 505
#define INF 9223372036854775807LL
unsigned long long m[MAXN][MAXN];
int n, d[MAXN];
int main()
{
ifstream f("podm.in");
ofstream g("podm.out");
f >> n;
for (int i = 1; i <= n + 1; ++i)
f >> d[i];
for (int v = 1; v < n; ++v)
for (int i = 1; i <= n - v; ++i)
{
int l = i, c = i + v;
m[l][c] = INF;
for (int k = l; k < c; ++k)
m[l][c] = min (m[l][k] + m[k + 1][c] + d[l] * d[k + 1] * d[c + 1], m[l][c]);
}
g << m[1][n];
f.close();
g.close();
return 0;
}