Cod sursa(job #3292503)

Utilizator radu_stStoican Radu radu_st Data 8 aprilie 2025 13:42:11
Problema Parantezare optima de matrici Scor 0
Compilator cpp-32 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>
using namespace std;

int main() {
    int n;
    ifstream fin("podm.in");
    ofstream fout("podm.out");
    fin >> n;
    int d[n + 1], i, j, k;
    for (i = 0; i <= n; i++) {
        fin >> d[i];
    }

    int dp[n + 1][n + 1];
    for (i = 1; i <= n; i++) {
        dp[i][i] = 0;
        if (i < n) {
            dp[i][i + 1] = d[i - 1] * d[i] * d[i + 1];
        }
    }

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

}