Cod sursa(job #1310977)

Utilizator robertstrecheStreche Robert robertstreche Data 7 ianuarie 2015 16:18:46
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>

#define lmax 502
#define inf (1LL<<62)
#define ll long long

using namespace std;

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

ll n,i,d,k;
ll v[lmax],mi[lmax][lmax];

int main()
{
   f>>n;

   n++;

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

   for (d=2;d<n;d++)
    for (i=1;i<=n-d;i++)
     {
        ll j=i+d;

        mi[i][j]=inf;

        for (k=i+1;k<j;k++)
         if (mi[i][j]>mi[i][k]+mi[k][j]+v[i]*v[k]*v[j])
          mi[i][j]=mi[i][k]+mi[k][j]+v[i]*v[k]*v[j];
     }
    g<<mi[1][n];

   f.close();
   g.close();
}