Pagini recente » Cod sursa (job #2476996) | Cod sursa (job #1859607) | Cod sursa (job #2878426) | Cod sursa (job #2718213) | Cod sursa (job #3237685)
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int DIM = 503;
const ll INF = 1e13;
ifstream fin( "podm.in" );
ofstream fout( "podm.out" );
ll dp[DIM][DIM];
int v[DIM];
int main() {
ios_base::sync_with_stdio(0);
fin.tie(0);
int n;
fin >> n;
for ( int i = 0; i <= n; ++i ) {
fin >> v[i];
}
for ( int i = 0; i + 2 <= n; ++i ) dp[i][i + 2] = (ll)v[i] * v[i + 1] * v[i + 2];
for ( int l = 3; l <= n; ++l ) {
for ( int i = 0; i + l <= n; ++i ) {
int j = i + l;
dp[i][j] = INF;
for ( int k = i; k <= j; ++k ) {
dp[i][j] = min(dp[i][j], dp[i][k] + dp[k][j] + (ll)v[i] * v[k] * v[j]);
}
}
}
fout << dp[0][n];
fin.close();
fout.close();
return 0;
}