Pagini recente » Cod sursa (job #569844) | Cod sursa (job #236566) | Cod sursa (job #3274183) | Cod sursa (job #629418) | Cod sursa (job #1500318)
#include <fstream>
using namespace std;
ifstream in("podm.in");
ofstream out("podm.out");
#define NMAX 505
#define INF 100000000000000000LL
int n, d[NMAX];
long long best[NMAX][NMAX];
int main()
{
int i, j, k, t;
in>>n;
for (i = 0;i <= n;i++)
in>>d[i];
for (i = 1;i <= n;i++)
best[i][i] = 0;
for (i = 1;i < n; i++)
best[i][i + 1] = d[i - 1] * d[i] * d[i + 1];
for (t = 2;t < n;t++)
for (i = 1;i <= n - t;i++)
{
//j = ;
best[i][j] = INF;
for (k = i;k < i + t;k++)
best[i][i + t] = min(best[i][i + t], best[i][k] + best[k + 1][i + t] + d[i - 1] * d[k] * d[i + t]);
}
out<<best[1][n];
}