Cod sursa(job #2948897)

Utilizator davidenko22Stancu David-Andrei davidenko22 Data 28 noiembrie 2022 18:39:38
Problema Parantezare optima de matrici Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>

using namespace std;

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

const int NMAX = 504;
const int INF = 2147483647;

int v[NMAX], dp[NMAX][NMAX];

int main()
{
    int n, i, j, k, lg;
    fin >> n;
    for ( i = 1; i <= n + 1; i++ )
      fin >> v[i];
    dp[1][1]=0;
    for ( lg = 2; lg <= n; lg++ ) {
      for ( i=1; i <= n - lg + 1; i++ ) {
        j = i + lg - 1;
        dp[i][j] = INF;
        for ( k = i; k < j; k++ ) {
          dp[i][j] = min(dp[i][j], dp[i][k] + dp[k + 1][j] + v[i] * v[j + 1] * v[k + 1]);
        }
      }
    }
    fout << dp[1][n];
    return 0;
}