Pagini recente » Cod sursa (job #914547) | Cod sursa (job #3254259) | Cod sursa (job #1128682) | Cod sursa (job #1517428) | Cod sursa (job #2879210)
#include <fstream>
std::ifstream fin("podm.in");
std::ofstream fout("podm.out");
typedef long long ll;
int const nmax = 500;
ll const inf = (ll)1e18;
ll d[nmax + 5];
ll dp[nmax + 5][nmax + 5];
int main()
{
int n;
fin >> n;
for (int i = 0; i <= n; i++)
fin >> d[i];
for (int dist = 1; dist < n; dist++) {
for (int i = 1; i <= n - dist; i++) {
int j = i + dist;
dp[i][j] = inf;
for (int k = i; k < j; k++)
dp[i][j] = std::min(dp[i][j], dp[i][k] + dp[k + 1][j] + d[i - 1] * d[k] * d[j]);
}
}
fout << dp[1][n];
return 0;
}