Pagini recente » Cod sursa (job #2828361) | Cod sursa (job #2443725) | Cod sursa (job #538022) | Cod sursa (job #1992419) | Cod sursa (job #3032959)
#include <bits/stdc++.h>
#define NM 505
using namespace std;
ifstream fin ("podm.in");
ofstream fout ("podm.out");
int n;
long long dp[NM][NM];
struct Matrice
{
int x, y, val;
} v[NM];
int main()
{
int i, j, d, k;
fin >> n;
fin >> v[1].x;
for(i = 1; i <= n; i++)
{
fin >> v[i].y;
v[i + 1].x = v[i].y;
}
for(i = 1; i < n; i++)
dp[i][i + 1] = 1LL * v[i].x * v[i].y * v[i + 1].y;
for(d = 3; d <= n; d++)
for(i = 1, j = d; j <= n; i++, j++)
{
dp[i][j] = LLONG_MAX;
for(k = i; k < j; k++)
{
dp[i][j] = min(dp[i][j], dp[i][k] + dp[k + 1][j] + (1LL * v[i].x * v[k].y * v[j].y));
}
}
fout << dp[1][n];
return 0;
}