Pagini recente » Cod sursa (job #924436) | Cod sursa (job #2633519) | Cod sursa (job #2109884) | Cod sursa (job #961582) | Cod sursa (job #2813875)
#include <fstream>
#define NMAX 505
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");
int n, lg, i, j, k;
long long int dp[NMAX][NMAX], arr[NMAX];
int main()
{
f >> n;
for (k = 0; k <= n; ++k) f >> arr[k];
for (k = 1; k <= n; ++k)
dp[k][k + 1] = arr[k - 1]*arr[k]*arr[k + 1];
for (lg = 2; lg < n; ++lg)
{
for (i = 1; i <= n - lg; ++i)
{
j = i + lg;
dp[i][j] = 1000000000000000100;
for (k = i; k < j; ++k)
dp[i][j] = min(dp[i][j], dp[i][k] + dp[k + 1][j] + arr[i - 1]*arr[k]*arr[j]);
}
}
g << dp[1][n];
return 0;
}