Cod sursa(job #3347078)

Utilizator fif81PETCU MIRCEA GABRIEL fif81 Data 15 martie 2026 15:45:52
Problema Parantezare optima de matrici Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("podm.in");
ofstream fout("podm.out");
long long dp[501][501],cost;
int d[505],len,i,j,n,k;

int main()
{

    fin >> n;
    for (i = 0; i <= n; i++)
    {
        fin >> d[i];
    }
    for (len = 2; len <= n; len++)
    {
        for (i = 1; i <= n - len + 1; i++)
        {
            j = i + len - 1;
            dp[i][j] = -1;

            for (k = i; k < j; k++)
                {
                long long cost = dp[i][k] + dp[k+1][j] + (long long)d[i-1] * d[k] * d[j];

                if (dp[i][j] == -1 || cost < dp[i][j])
                {
                    dp[i][j] = cost;
                }
            }
        }
    }

    fout << dp[1][n] << endl;

    return 0;
}