Pagini recente » Cod sursa (job #906063) | Cod sursa (job #2537435) | Cod sursa (job #59070) | Cod sursa (job #808480) | Cod sursa (job #1379600)
#include <fstream>
#define NMax 501
#define INF 1LL<<63-1;
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");
int n, v[NMax], l, i, j, k;
long long d[NMax][NMax];
int getmin(int a, int b)
{
if (a < b)
return a;
return b;
}
int main()
{
f >> n;
for (i = 0; i <= n; i++)
f >> v[i];
for (l = 2; l <= n; l++) {
for (i = 1; i <= n - l + 1; i++) {
j = i + l - 1;
d[i][j] = INF;
for (k = i; k<j; k++)
d[i][j] = getmin(d[i][j], d[i][k] + d[k + 1][j] + 1LL * v[i - 1] * v[k] * v[j]);
}
}
g << d[1][n];
return 0;
}