Pagini recente » Cod sursa (job #3151515) | Cod sursa (job #3188417) | Cod sursa (job #363154) | Cod sursa (job #401514) | Cod sursa (job #3234082)
#include <bits/stdc++.h>
using namespace std;
ifstream in("podm.in");
ofstream out("podm.out");
using ll = long long;
const ll inf = 1e18;
ll dp[505][505];
int s[505];
int n;
int main() {
in >> n;
for (int i = 0; i <= n; ++i) {
in >> s[i];
dp[i][i] = 0LL;
}
for (int l = 2; l <= n; ++l) {
for (int i = 0, j = l - 1; j < n; ++i, ++j) {
dp[i][j] = inf;
for (int k = i; k < j; ++k) {
dp[i][j] = min(dp[i][j], dp[i][k] + dp[k + 1][j] +
1LL * s[i] * s[k + 1] * s[j + 1]);
}
// cout << i << ' ' << j << " has " << dp[i][j] << '\n';
}
}
out << dp[0][n - 1] << '\n';
return 0;
}