Pagini recente » Cod sursa (job #860566) | Cod sursa (job #2892231) | Cod sursa (job #2246657) | Cod sursa (job #1109231) | Cod sursa (job #907427)
Cod sursa(job #907427)
#include <fstream>
#include <algorithm>
#include <iostream>
using namespace std;
unsigned long long v[505], d[505][505], V[505];
int n;
#define MIN 500000000000000001
int main ()
{
ifstream fin ("podm.in");
fin >> n;
for (int i = 0; i <= n; ++i)
fin >> v[i];
fin.close();
for (int i = 1; i < n; ++i)
d[i][i+1] = v[i-1] * v[i] * v[i+1];
for (int D = 2; D < n; ++D)
for (int i = 1; i <= n - D; ++i)
{
int j = i + D;
unsigned long long Min = MIN;
for (int k = i; k < j; ++k)
Min = min (Min, d[i][k] + d[k+1][j] + v[i-1] * v[k] * v[j]);
d[i][j] = Min;
}
ofstream fout ("podm.out");
fout << d[1][n];
fout.close();
return 0;
}