Pagini recente » Cod sursa (job #828174) | Cod sursa (job #355010) | Cod sursa (job #2455755) | Cod sursa (job #80864) | Cod sursa (job #1527005)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
#define MAX 505
#define INF (~(1ll<<63))
long long a[MAX][MAX], b[MAX];
long long rez(int st, int dr)
{
if(a[st][dr])
return a[st][dr];
if(dr <= st)
return 0;
a[st][dr] = INF;
for(int i = st ; i < dr ; i++)
{
a[st][dr] = min(a[st][dr], rez(st, i) + 1ll * b[st] * b[i + 1] * b[dr + 1] + rez(i + 1, dr));
}
return a[st][dr];
}
int main()
{
int n, i, j;
fin >> n;
for(i = 1 ; i <= n + 1 ; i++)
{
fin >> b[i];
}
// cout << INF << " ";
fout << rez(1, n);
}