Pagini recente » Cod sursa (job #2447945) | Cod sursa (job #1577835) | Cod sursa (job #2019297) | Cod sursa (job #2289707) | Cod sursa (job #2500231)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
long long dp[501][501], v[501];
int main()
{
int n;
fin >> n;
for(int i = 1; i <= n + 1; i++){
fin >> v[i];
}
for(int i = n - 1; i >= 1; i--){
for(int j = i + 1; j <= n; j++){
long long minim = 1LL << 60;
for(int k = i; k < j; k++){
minim = min(minim, dp[i][k] + dp[k + 1][j] + v[i] * v[k + 1] * v[j + 1]);
}
dp[i][j] = minim;
}
}
//dp[1][n - 1] = min(dp[1][n - 2] * v[n - 1] * v[n], v[n - 1] * v[n]);
//dp[1][n] = min(dp[1][n - 1] * v[n], v[n]);
fout << dp[1][n];
return 0;
}