Pagini recente » Cod sursa (job #1670626) | Cod sursa (job #2176058) | Cod sursa (job #1477919) | Cod sursa (job #927759) | Cod sursa (job #3347078)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
long long dp[501][501],cost;
int d[505],len,i,j,n,k;
int main()
{
fin >> n;
for (i = 0; i <= n; i++)
{
fin >> d[i];
}
for (len = 2; len <= n; len++)
{
for (i = 1; i <= n - len + 1; i++)
{
j = i + len - 1;
dp[i][j] = -1;
for (k = i; k < j; k++)
{
long long cost = dp[i][k] + dp[k+1][j] + (long long)d[i-1] * d[k] * d[j];
if (dp[i][j] == -1 || cost < dp[i][j])
{
dp[i][j] = cost;
}
}
}
}
fout << dp[1][n] << endl;
return 0;
}