Cod sursa(job #2759059)

Utilizator KlinashkaDiacicov Calin Marian Klinashka Data 15 iunie 2021 00:12:52
Problema Parantezare optima de matrici Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.51 kb
#include <bits/stdc++.h>
using namespace std;

typedef long long ll;

int main() {
  freopen("podm.in", "r", stdin);
  freopen("podm.out", "w", stdout);
  int n;
  cin >> n;
  ll a[n+1];
  ll dp[n][n];
  for(int i=0;i<=n;i++)
    cin >> a[i];
  for(int l=n-1;l>=0;l--) {
    dp[l][l] = 0;
    for(int r=l+1;r<n;r++) {
      dp[l][r] = (ll)5e15;
      for(int i=l;i<r;i++)
        dp[l][r] = min(dp[l][r], dp[l][i]+dp[i+1][r]+a[l]*a[i+1]*a[r+1]);
    }
  }
  cout << dp[0][n-1] << '\n';
  return 0;
}