Pagini recente » Cod sursa (job #2274862) | Cod sursa (job #701625) | Cod sursa (job #2699420) | Cod sursa (job #2424014) | Cod sursa (job #1251486)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("podm.in");
ofstream g ("podm.out");
const int NMAX = 500 + 2;
const int INF = 0x7ffffff;
int n;
int v[NMAX];
long long sol[NMAX][NMAX];
void citeste() {
f >> n;
for (int i = 1; i <= n + 1; i++) f >> v[i];
}
void rezolva() {
int j;
long long solcrt;
for (int l = 1; l < n; l++) {
for (int i = 1; i <= n - l; i++) {
j = i + l;
sol[i][j] = INF;
for (int k = i; k < j; k++) {
solcrt = sol[i][k] + sol[k + 1][j] + 1LL * v[i] * v[k + 1] * v[j + 1];
//cout << solcrt << endl;
sol[i][j] = min(solcrt, sol[i][j]);
}
}
}
g << sol[1][n] << '\n';
}
int main() {
citeste();
rezolva();
return 0;
}