Pagini recente » Cod sursa (job #1020558) | Cod sursa (job #1899790) | Cod sursa (job #2268934) | Cod sursa (job #631025) | Cod sursa (job #1767640)
#include <bits/stdc++.h>
#define INF 1LL<<60
using namespace std;
long long dp[505][505];
int a[505], n;
void Citire()
{
ifstream f("podm.in");
f >> n;
int i;
for(i = 0; i <= n; i++)
f >> a[i];
f.close();
}
void Rezolvare()
{
int i, j, k, dif;
long long minim, x;
for(i = 1; i < n; i++)
dp[i][i + 1] = 1LL * a[i - 1] * a[i] * a[i + 1];
for(dif = 2; dif < n; dif++)
for(i = 1; i <= n - dif; i++)
{
j = i + dif;
minim = INF;
for(k = i; k < j; k++)
{
x = dp[i][k] + dp[k + 1][j] + 1LL * a[i - 1] * a[k] * a[j];
minim = min(minim, x);
}
dp[i][j] = minim;
}
ofstream g("podm.out");
g << dp[1][n] << "\n";
g.close();
}
int main()
{
Citire();
Rezolvare();
return 0;
}