Cod sursa(job #1858166)

Utilizator FlorinHajaFlorin Gabriel Haja FlorinHaja Data 27 ianuarie 2017 08:46:49
Problema Parantezare optima de matrici Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>

using namespace std;

ifstream f("podm.in");
ofstream g("podm.out");

const long long f_mare = 1e12;
int n, i, j, w, k;
long long sol[505][505], a[505];

int main() {
    f >> n;
    for (i = 0; i <= n; i++)
        f >> a[i];

    for (i = 1; i < n; i++)
        sol[i][i+1] = a[i-1]*a[i]*a[i+1];

    for (w= 3; w <= n; w++)
        for (i = 1; i+w<=n+1; i++){
            j = i+w-1;
            sol[i][j] = f_mare;
            for (k = i; k < j; k++)
                sol[i][j] = min(sol[i][j], sol[i][k]+sol[k+1][j]+a[i-1]*a[k]*a[j]);
        }
    return 0;
}