Pagini recente » Cod sursa (job #2792657) | Cod sursa (job #246073) | Cod sursa (job #198137) | Cod sursa (job #2775929) | Cod sursa (job #381119)
Cod sursa(job #381119)
#include<fstream>
using namespace std;
const long long INF = (long long)1<<60;
const long long N = 501;
long long nr[N][N];
long long n, a[N+1];
ifstream fin("podm.in");
ofstream fout("podm.out");
void citire() {
fin>>n;
for (int i = 1; i <= n+1; i++) fin>>a[i];
}
void initializare_dinamica() {
for (int j = 1; j <= n; j++) nr[j][j] = 0;
}
void dinamica() {
int j;
long long value;
for (int d = 1; d <= n-1; d++) {
for (int i = 1; (j = i+d) <= n; i++) {
nr[i][j] = INF;
for (int k = i; k <= j-1; k++) {
value = nr[i][k] + nr[k+1][j] + a[i] * a[k+1] * a[j+1];
if (value < nr[i][j]) nr[i][j] = value;
}
}
}
}
int main() {
citire();
initializare_dinamica();
dinamica();
fout<<nr[1][n];
return 0;
}