Pagini recente » Cod sursa (job #1212704) | Cod sursa (job #700594) | Cod sursa (job #632773) | Cod sursa (job #607287) | Cod sursa (job #2660822)
#include <bits/stdc++.h>
#define int long long
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
inline void min_self(int& a, int 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 < int > > dp(N + 1, vector < int >(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] + a[i - 1] * a[k] * a[j]);
}
fout << dp[1][N];
}