Pagini recente » Cod sursa (job #618175) | Cod sursa (job #1544756) | Cod sursa (job #743880) | Cod sursa (job #597835) | Cod sursa (job #1773416)
#include <fstream>
#include <algorithm>
#define N 505
#define MAX 110000000
using namespace std;
ifstream in("podm.in");
ofstream out("podm.out");
long long best[N][N];
int d[N];
int main()
{
int n, i, j, p, k;
in>>n;
for(i = 0; i <= n; i++)
in>>d[i];
for(i = 1; i < n; i++)
best[i][i+1] = d[i-1]* d[i]* d[i+1];
for(p = 2; p <= n-1; p++)
for(i = 1; i <= n-p; i++)
{
j = i+p;
best[i][j] = MAX;
for(k = i; k <= j-1; k++)
best[i][j] = min(best[i][j], best[i][k] + best[k+1][j] + d[i-1]*d[k]*d[j]);
}
out<<best[1][n];
return 0;
}