Cod sursa(job #2637366)

Utilizator Razvan48Capatina Razvan Nicolae Razvan48 Data 22 iulie 2020 17:15:01
Problema Parantezare optima de matrici Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>
#include <climits>

const int NMAX = 500;

long long int dp[1+NMAX][1+NMAX];
long long int v[2+NMAX];

using namespace std;

int main()
{
  ifstream f("podm.in");
  ofstream g("podm.out");

  int n;
  f>>n;

  for(int i=1;i<=n+1;i++)
  {
    f>>v[i];
  }

  for(int l=2;l<=n;l++)
  {
    for(int i=1;i<=n;i++)
    {
      dp[l][i]=LLONG_MAX;
    }
  }

  for(int l=2;l<=n;l++)
  {
    for(int i=1;i<=n-l+1;i++)
    {
      for(int k=i;k<=i+l-1;k++)
      {
         d[l][i] = min(d[l][i],d[k-i+1][i] + v[i]*v[i+l]*v[k+1] + d[i+l-1-k][k+1]);
      }
    }
  }

  g<<dp[n][1];

  return 0;
}