Pagini recente » Cod sursa (job #855436) | Cod sursa (job #11371) | Cod sursa (job #1488994) | Cod sursa (job #715547) | Cod sursa (job #1791324)
#include <fstream>
using namespace std;
int n, d[505];
unsigned long long matrice[505][505];
void citire() {
ifstream in("podm.in");
in >> n;
for (int i = 0 ; i <= n; i++) in >> d[i];
}
int main() {
citire();
for (int i = 1; i <= n; i++) matrice[i][i] = 0;
for (int x = 1; x < n; x++) {
for (int i = 2; i <= n; i++) {
int j = i + x;
unsigned long long Min = matrice[i][i] + matrice[i + 1][j] + d[i - 1] * d[i] * d[j];
for (int k = i + 1; k < j; k++) {
unsigned long long s = matrice[i][k] + matrice[k + 1][j] + d[i - 1] * d[k] * d[j];
if (s > Min) {
Min = s;
}
}
matrice[i][j] = Min;
}
}
ofstream out("podm.out");
out << matrice[n][n];
}