Pagini recente » Cod sursa (job #1168566) | Cod sursa (job #3221372) | Cod sursa (job #462271) | Cod sursa (job #1679376) | Cod sursa (job #542216)
Cod sursa(job #542216)
// Parantezare optima de matrici
#include <fstream>
#include <iostream>
using namespace std;
#define MAXN 505
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 = v + 1; i <= n; ++i)
{
if (m[i - v][i - 1] < m[i - v + 1][i])
{
m[i - v][i] = m[i - v][i - 1];
m[i - v][i] += d[i - v] * d[i] * d[i + 1];
}
else
{
m[i - v][i] = m[i - v + 1][i];
m[i - v][i] += d[i - v] * d[i - v + 1] * d[i + 1];
}
}
g << m[1][n];
f.close();
g.close();
return 0;
}