Pagini recente » Cod sursa (job #2725071) | Cod sursa (job #2151952) | Cod sursa (job #1778771) | Cod sursa (job #1939) | Cod sursa (job #2566836)
#include <bits/stdc++.h>
#define llg long long
#define int llg
#define MAXN 505
int N;
int d[MAXN];
int DP[MAXN][MAXN];
#define FILENAME std::string("podm")
std::ifstream input (FILENAME+".in");
std::ofstream output(FILENAME+".out");
int32_t main()
{
input >> N;
d.resize(N+1);
for (auto &it:d) input >> it;
for (int len=2; len<=N; ++len)
for (int i=1, j=len; j<=N; ++j, ++i) {
DP[i][j] = 2e18;
for (int k=i; k+1<=j; ++k)
DP[i][j] = std::min(DP[i][j], DP[i][k] + DP[k+1][j] + d[i-1]*d[k]*d[j]);
}
output << DP[1][N];
return 0;
}