Pagini recente » Cod sursa (job #1818697) | Cod sursa (job #1618968) | Cod sursa (job #642941) | Cod sursa (job #299482) | Cod sursa (job #501548)
Cod sursa(job #501548)
// ? p
#include <fstream>
#include <cstdlib>
#include <iomanip>
using namespace std;
ifstream fi("podm.in");
ofstream fo("podm.out");
int n, x[502], a[501][501];
int Min(int st, int dr) {
int k, vmin, aux;
vmin = 1 << 30;
for (k = st; k <= dr - 1; k++) {
aux = a[st][k] + a[k+1][dr] + x[st] * x[k+1] * x[dr+1];
if (aux < vmin)
vmin = aux;
}
return vmin;
}
void d_mat () {
int l, c;
for (l = 1; l <= n; l++) {
for (c = 1; c <= n; c++)
fo << setw(5) << a[l][c];
fo << endl;
}
fo << endl;
}
int main() {
int l, c, d, i;
fi >> n;
for (i = 1; i <= n + 1; i++)
fi >> x[i];
// for (i = 1; i <= n; i++)
// a[i][i] = x[i];
for (d = 1; d <= n - 1; d++) {
for (l = 1; l <= n - d; l++)
a[l][l+d] = Min(l, l + d);
//d_mat();
}
fo << a[1][n];
return 0;
}