Pagini recente » Cod sursa (job #1816854) | Cod sursa (job #1306011) | Cod sursa (job #3287577) | Cod sursa (job #3232545) | Cod sursa (job #2653256)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
int v[505];
long long dp[505][505];
int main() {
int n;
fin >> n;
n += 1;
for (int i = 1; i <= n; ++i)
fin >> v[i];
for (int i = 1; i <= n; ++i)
for (int j = 1; j <= n; ++j)
dp[i][j] = 1000000000000000000;
for (int i = 1; i < n; ++i)
dp[i][i + 1] = 0;
for (int i = n; i >= 1; --i)
for (int j = i + 2; j <= n; ++j){
for (int k = i + 1; k <= j - 1 ; ++k)
dp[i][j] = min(dp[i][j], dp[i][k] + dp[k][j] + 1LL * v[i] * v[k] * v[j]);
}
fout << dp[1][n];
return 0;
}