Cod sursa(job #1931799)

Utilizator AndreiMaximIonutMaxim Andrei AndreiMaximIonut Data 19 martie 2017 14:38:33
Problema Parantezare optima de matrici Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>

using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");
unsigned long long matrice[501][501],d[501];
int main()
{
    short n,i,x,k;
    fin>>n;
    for(i=0; i<=n; ++i) fin>>d[i];

    for(i=1; i<n; ++i)
        matrice[i][i+1]=d[i-1]*d[i]*d[i+1];

    for(x=2; x<n; ++x)
        for(i=1; i<=n-x; ++i)
        {
            matrice[i][i+x]=100000000000000000LL;
            for(k=1; k<i+x; ++k)
                matrice[i][i+x]=min(matrice[i][i+x],matrice[i][k]+matrice[k+1][i+x]+d[i-1]*d[k]*d[i+x]);
        }
    fout<<matrice[1][n];
    return 0;
}