Cod sursa(job #1451620)

Utilizator DjokValeriu Motroi Djok Data 17 iunie 2015 21:22:18
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<bits/stdc++.h>
using namespace std;

const long long INF=1e18;

int i,j,k,n,a[505],lung;
long long dp[505][505];

int main()
{
  ifstream cin("podm.in");
  ofstream cout("podm.out");

  ios_base::sync_with_stdio(0);

  cin>>n;
  for(i=0;i<=n;++i) cin>>a[i];

  for(i=2;i<=n;++i)
   for(j=1;j<=n-i+1;++j)
   {
     lung=i+j-1; dp[j][lung]=INF;
     for(k=j;k<lung;++k)
     dp[j][lung]=min(dp[j][lung],dp[j][k]+dp[k+1][lung]+1LL*a[j-1]*a[k]*a[lung]);
   }

  cout<<dp[1][n]<<'\n';

 return 0;
}