Pagini recente » Cod sursa (job #106383) | Cod sursa (job #3278644) | Cod sursa (job #2708840) | Cod sursa (job #2972420) | Cod sursa (job #590278)
Cod sursa(job #590278)
#include <iostream>
#include <fstream>
using namespace std;
const char iname[] = "podm.in";
const char oname[] = "podm.out";
ifstream fin(iname);
ofstream fout(oname);
int i, n, linie[100], coloana[100];
int opt[100][100], j, k, infor[100];
int main()
{
fin >> n;
for(i = 1; i <= n + 1; i ++)
fin >> infor[i];
for(i = 1; i <= n; i ++)
{
linie[i] = infor[i];
coloana[i] = infor[i + 1];
}
for(i = 1; i <= n; i ++)
for(j = 1; j <= n; j ++)
opt[i][j] = 28298982;
for(i = 2; i <= n ;i ++)
opt[i - 1][i] = linie[i - 1] * coloana[i - 1] * coloana[i];
for(i = 1; i <= n; i ++)
opt[i][i] = 0;
for(i = 1; i <= n; i ++)
for(j = i + 1; j <= n; j ++)
for(k = i; k <= j - 1; k ++)
opt[i][j] = min(opt[i][j], opt[i][k] + opt[k + 1][j] + linie[i] * coloana[k] * coloana[j]);
fout << opt[1][n] << "\n";
return 0;
}