Cod sursa(job #3268726)

Utilizator Mihai_OctMihai Octavian Mihai_Oct Data 16 ianuarie 2025 20:23:51
Problema Parantezare optima de matrici Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("podm.in");
ofstream fout("podm.out");
const long long inf = 1e18 + 2;
long long n, i, j, k, v[512], d[512][512];

int main() {
    fin >> n;
    for(i = 1; i <= n + 1; i++) fin >> v[i];
    for(i = 1; i <= n + 1; i++) {
        for(j = i; j <= n + 1; j++) d[i][j] = inf;
    }

    for(i = 1; i <= n; i++) d[i][i + 1] = 0;

    for(i = n - 1; i >= 1; i--) {
        for(j = i + 2; j <= n + 1; j++) {
            for(k = i + 1; k < j; k++) {
                d[i][j] = min(d[i][j], d[i][k] + d[k][j] + v[i] * v[k] * v[j]);
            }
        }
    }
    fout << d[1][n + 1];

    return 0;
}