Pagini recente » Cod sursa (job #2669763) | Cod sursa (job #1916758) | Cod sursa (job #2637986) | Cod sursa (job #320313) | Cod sursa (job #2300401)
#include <iostream>
#include <fstream>
#define INF 99999999999999
using namespace std;
ifstream in("podm.in");
ofstream out("podm.out");
long long d[505], n, M[502][502];
int main() {
in >> n;
for (int i = 0; i <= n; i++){
in >> d[i];
}
// for (long long i = 0; i < n; i++) {
// for (long long j = 0; j 2< n; j++){
// M[i][j] = INF;
// }
// }
for (int i = 1; i < n; i++){
M[i][i+1] = d[i-1]*d[i]*d[i+1];
}
for (int len = 2; len <= n - 1; len++) {
for(int i = 1; i + len <= n; i++) {
M[i][i+len] = INF;
for(int k = i; k < i + len; k++) {
M[i][i+len] = min(M[i][i+len], M[i][k] + M[k+1][i+len]+ d[i-1]*d[k]*d[i+len]);
}
}
}
out << M[1][n];
return 0;
}