Pagini recente » Cod sursa (job #216877) | Cod sursa (job #2392667) | Cod sursa (job #2272430) | Cod sursa (job #1494780) | Cod sursa (job #2500771)
#pragma GCC optimize("03")
#include <bits/stdc++.h>
#define ll long long
#define fi first
#define se second
#define mod 1000000007
using namespace std;
int n;
ll dp[510][510], a[510];
int main() {
ifstream cin("podm.in");
ofstream cout("podm.out");
ios_base::sync_with_stdio(0);
cin.tie(NULL);
cin >> n;
for (int i = 1; i <= n + 1; i++)
cin >> a[i];
for (int i = 1; i <= n; i++)
for (int j = 1; j <= n; j++)
dp[i][j] = LLONG_MAX;
for (int i = 1; i <= n; i++)
dp[i][i] = 0;
for (int len = 2; len <= n; len++) {
for (int st = 1; st + len - 1 <= n; st++) {
int dr = st + len - 1;
for (int k = st; k < dr; k++) {
dp[st][dr] = min(dp[st][dr], dp[st][k] + dp[k + 1][dr] + a[st] * a[k + 1] * a[dr + 1]);
}
}
}
cout << dp[1][n];
return 0;
}