Pagini recente » Cod sursa (job #3342826) | Cod sursa (job #3326252) | Cod sursa (job #3337473) | Cod sursa (job #3335764) | Cod sursa (job #3355302)
#include <iostream>
#include <vector>
#include <algorithm>
#include <fstream>
using namespace std;
int main(void) {
int n;
ifstream fin("podm.in");
ofstream fout("podm.out");
fin >> n;
vector<int> v(n + 1);
vector<vector<int>> dp(n, vector<int>(n, 1e7));
for (int i = 0; i <= n; i++) {
fin >> v[i];
}
for (int i = 0; i < n; i++) {
dp[i][i] = 0;
}
for (int k = 1; k < n; k++) {
for (int i = 0; i < n - k; i++) {
for (int j = i; j < i + k; j++) {
dp[i][i + k] = min(dp[i][i + k], dp[i][j] + dp[j + 1][i + k] + v[i] * v[k + i + 1] * v[j + 1]);
}
}
}
fout << dp[0][n - 1] << "\n";
return 0;
}