Pagini recente » Cod sursa (job #3322311) | Cod sursa (job #1151819) | Cod sursa (job #3271229) | Cod sursa (job #241020) | Cod sursa (job #3322069)
#include <fstream>
using namespace std;
ifstream cin("podm.in");
ofstream cout("podm.out");
typedef long long ll;
const ll mxN = 501, INF = 1e17;
ll v[mxN], dp[mxN][mxN];
int main()
{
int n ;
cin >> n ;
for(int i = 1;i <= n + 1;i++)
cin >> v[i];
for(int i = 1;i<=n;i++)
for(int j = 1;j<=n;j++)
if(i!=j) dp[i][j] = INF;
for(int i = 1;i<n;i++)
dp[i][i+1] = v[i] * v[i+1] * v[i+2];
for(int len = 3;len<=n;len++)
for(int r = len;r <= n;r++)
{
int l = r - len + 1;
for(int k = l;k<r;k++)
dp[l][r] = min(dp[l][r], dp[l][k] + dp[k+1][r] + v[l] * v[k+1] * v[r+1]);
}
cout << dp[1][n] << '\n';
return 0;
}