Cod sursa(job #3195128)

Utilizator TomaBToma Brihacescu TomaB Data 20 ianuarie 2024 10:03:37
Problema Parantezare optima de matrici Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>

using namespace std;

long long d[10005], step, i, j, dp[503][503];

int main()
{
    freopen("podm.in", "r", stdin);
    freopen("podm.out", "w", stdout);
    int n;
    cin >> n;
    for (int i = 0; i <= n; i++)
        cin >> d[i];

    for (step = 1; step < n; step++)
        for (i = 1; i <= n - step; i++)
    {
        j = i + step;
        int best = INT_MAX;
        for (int k = i; k <= j-1; k++)
        {
            best = min(best, dp[i][k] + dp[k+1][j] + d[i-1]*d[k]*d[j]);
        }
        dp[i][j] = best;

    }
    cout << dp[1][n];
    return 0;
}