Cod sursa(job #2808078)

Utilizator StefanSanStanescu Stefan StefanSan Data 24 noiembrie 2021 16:02:50
Problema Parantezare optima de matrici Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>

using namespace std;

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

int p[501], n;

int main(){

    in >> n;
    n++;
    for (int i = 0; i < n; i++)
        in >> p[i];

    int dp[501][501];
    for (int i = 1; i <= n; i++)
        dp[i][i] = 0;

    for (int len = 1; len < n - 1; len++)
        for (int i = 1; i < n - len; i++)
            dp[i][i + len] = min(dp[i + 1][i + len] + p[i - 1] * p[i] * p[i + len], dp[i][i + len - 1] + p[i - 1] * p[i + len - 1] * p[i + len]);

    out << dp[1][n - 1];

    return 0;
}