Cod sursa(job #1906414)

Utilizator patrutoiuandreipatrutoiu andrei patrutoiuandrei Data 6 martie 2017 13:53:56
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>

#define Ndim 502
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
long long D[Ndim][Ndim],V[Ndim];
int main()
{
    int i,n,j,k,l,d;
    fin>>n;
    for(i=0;i<=n;i++)
    {
        fin>>V[i];
    }
    for(i=1;i<n;i++)
        D[i][i+1] = V[i-1]*V[i]*V[i+1];
    for(d=2;d<n;d++)
    {
        for(i=1;i+d<=n;i++)
        {
            j = i+d;
            D[i][j] = D[i][j-1] + V[i-1]*V[j-1]*V[j];
            for(k=i;k<j;k++)
            {
                D[i][j] = min(D[i][j],D[i][k]+D[k+1][j]+V[i-1]*V[k]*V[j]);
            }
        }
    }
    fout<<D[1][n];
    return 0;
}