Pagini recente » Cod sursa (job #503933) | Cod sursa (job #3121947) | Cod sursa (job #2497126) | Cod sursa (job #2968383) | Cod sursa (job #2895742)
#include <bits/stdc++.h>
using namespace std;
long long dp[501][501];
long long v[501];
long long n;
int main()
{
freopen("podm.in", "r", stdin);
freopen("podm.out", "w", stdout);
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
cin >> n;
for (int i = 0; i <= n; i++)
cin >> v[i];
for (int d = 0; d < n; d++) {
for (int i = 1; i <= n - d; i++) {
if (d == 0) {
dp[i][i + d] = 0;
}
else if (d == 1) {
dp[i][i + d] = v[i - 1] * v[i] * v[i + 1];
}
else {
dp[i][i + d] = 1 << 50;
for (int j = i; j < i + d; j++) {
dp[i][i + d] = min(dp[i][i + d], dp[i][j] + dp[j + 1][i + d] + v[i-1]*v[j]*v[i+d]);
}
}
}
}
cout << dp[1][n];
return 0;
}