Cod sursa(job #2588667)

Utilizator CosminMorarMorar Cosmin Andrei CosminMorar Data 25 martie 2020 11:25:50
Problema Parantezare optima de matrici Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
int n;
unsigned long long v[502], sol[501][501];

int main() {
    fin >> n;

    for (int i = 1; i <= n; i++)
        for (int j = i + 1; j <= n; j++)
            sol[i][j] = 2000000000000000000;

    for (int i = 1; i <= n + 1; i++)
        fin >> v[i];

    for (int k = 2; k <= n; k++) {
        int i = 1;
        int j = k;

        while (j <= n) {
            for (int h = i; h < j; h++)
                sol[i][j] = min(sol[i][j], sol[i][h] + sol[h + 1][j] + v[i] * v[h + 1] * v[j + 1]);
            i++;
            j++;
        }
    }

    fout << sol[1][n];
    return 0;
}