Pagini recente » Cod sursa (job #2319216) | Cod sursa (job #2451475) | Cod sursa (job #1709434) | Cod sursa (job #2956256) | Cod sursa (job #2451568)
#include <bits/stdc++.h>
#define infinity 18000000000000
using namespace std;
unsigned long long dp[501][501];
int main()
{
ifstream fin("podm.in");
ofstream fout("podm.out");
size_t d[501], N;
fin >> N;
for(size_t i = 0; i <= N; i++)
{
fin >> d[i];
}
for(size_t i = 1; i <= N; i++)
{
for(size_t j = 1; j <= N; j++)
{
if(i != j) dp[i][j] = infinity;
}
}
for(size_t l = 1; l <= N; l++)
{
for(size_t i = 1; i <= N - l; i++)
{
size_t j = i + l;
for(size_t k = i; k < j; k++)
{
dp[i][j] = min(dp[i][j], dp[i][k] + dp[k + 1][j] + 1LL * d[i - 1] * d[k] * d[j]);
}
}
}
fout << dp[1][N];
}