Cod sursa(job #1639591)

Utilizator gapdanPopescu George gapdan Data 8 martie 2016 12:56:22
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
#include <cmath>
using namespace std;

int n,i,l,j,k;
long long m[505][505],d[505];
int main()
{
    ifstream f("podm.in");
    ofstream g("podm.out");
    f>>n;
    for(i=0;i<=n;++i)
        f>>d[i];
    for(l=2;l<=n;++l)
    {
        for(i=1;i<=n-l+1;++i)
        {
            j=i+l-1;
            m[i][j]=INFINITY;
            for(k=i;k<=j-1;++k)
            {
                long long aux=m[i][k]+m[k+1][j]+1ll*d[i-1]*d[k]*d[j];
                if(aux < m[i][j]) m[i][j]=aux;
            }
        }
    }
    g<<m[1][n]<<"\n";
    return 0;
}