Pagini recente » Cod sursa (job #414118) | Cod sursa (job #1024474) | Cod sursa (job #313666) | Cod sursa (job #314188) | Cod sursa (job #2660823)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
typedef long long ll;
inline void min_self(ll& a, ll b) {
a = min(a, b);
}
int32_t main() {
fin.sync_with_stdio(false);
fout.sync_with_stdio(false);
fin.tie(nullptr);
fout.tie(nullptr);
int N;
fin >> N;
vector < int > a(N + 1);
for(int i = 0; i <= N; ++i)
fin >> a[i];
vector < vector < ll > > dp(N + 1, vector < ll >(N + 1, 1e18L));
for(int i = 1; i <= N; ++i)
dp[i][i] = 0;
for(int l = 1; l < N; ++l)
for(int i = 1; i <= N - l; ++i) {
int j = i + l;
for(int k = i; k < j; ++k)
min_self(dp[i][j], dp[i][k] + dp[k + 1][j] + (ll)a[i - 1] * a[k] * a[j]);
}
fout << dp[1][N];
}