Pagini recente » Cod sursa (job #2314155) | Cod sursa (job #709167) | Cod sursa (job #873111) | Cod sursa (job #970510) | Cod sursa (job #1551095)
#include <fstream>
#include <iomanip>
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
int n, m[505][505], v[10005];
int main()
{
fin >> n;
for (int i = 0; i <= n; i++)
fin >> v[i];
for (int i = 1; i <= n; i++)
{
for (int j = i; j <= n; j++)
{
if (j - i == 0)
m[i][j] = 0;
else if (j - i == 1)
{
m[i][j] = v[i-1] * v[i] * v[i+1];
}
else
{
int mini = 9999999;
for (int k = i; k < j; k++)
{
int ioi = m[i][k] + m[k+1][j] + (v[i-1] * v[k] * v[j]);
if (ioi < mini)
mini = ioi;
}
m[i][j] = mini;
}
}
}
for (int i = 1; i <= n; i++)
{
for (int j = i; j <= n; j++)
{
if (j - i > 1)
{
int mini = 9999999;
for (int k = i; k < j; k++)
{
int ioi = m[i][k] + m[k+1][j] + (v[i-1] * v[k] * v[j]);
if (ioi < mini)
mini = ioi;
}
m[i][j] = mini;
}
}
}
fout << m[1][n];
return 0;
}