Cod sursa(job #3316220)

Utilizator petric_mariaPetric Maria petric_maria Data 17 octombrie 2025 21:11:17
Problema Parantezare optima de matrici Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");

const int inf = 1e9;
int n, a[505], dp[505][505];

int main()
{
    f >> n;
    for (int i=1; i<=n+1; ++i)
        f >> a[i];
    for (int i=1; i<=n; ++i)
        dp[i][i+1] = 0;
    for (int l=3; l<=n+1; ++l)
        for (int i=1; i<=n-l+2; ++i) {
            int j = i + l - 1;
            dp[i][j] = inf;
            for (int k=i+1; k<j; ++k)
                dp[i][j] = min (dp[i][j], dp[i][k] + dp[k][j] + a[i]*a[k]*a[j]);
        }
    g << dp[1][n+1];
    return 0;
}