Pagini recente » Cod sursa (job #2145227) | Cod sursa (job #2987227) | Cod sursa (job #3128551) | Cod sursa (job #2354817) | Cod sursa (job #2853181)
#include <fstream>
using namespace std;
long long m[505][505], d[505];
int n;
void citire()
{
ifstream fin("podm.in");
fin >> n;
for(int i = 0; i <= n; i++)
fin >> d[i];
}
void rezolvare()
{
for(int i = 1; i <= n-1; i++)
m[i][i + 1] = d[i - 1] * d[i] * d[i + 1];
for(int t = 2; t <= n-1; t++)
for(int i = 1; i <= n-t; i++)
{
int j = i + t;
m[i][j] = 100000000000000000LL;
for(int k = i; k <= j-1; k++)
m[i][j] = min(m[i][j], m[i][k] + m[k + 1][j] + d[i - 1] * d[k] * d[j]);
}
}
void afisare()
{
ofstream fout("podm.out");
fout << m[1][n];
}
int main(void)
{
citire();
rezolvare();
afisare();
return 0;
}