Cod sursa(job #2036882)

Utilizator LeVladzCiuperceanu Vlad LeVladz Data 11 octombrie 2017 10:44:15
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include <fstream>
#define INF 1000000000000000LL

using namespace std;

ifstream fin("podm.in");
ofstream fout("podm.out");

unsigned long long n,i,j,k,x[505],L;
unsigned long long D[505][505];

int main()
{
    fin >> n;
    n++;
    for (i=1; i<=n; i++)
        fin >> x[i];
    for (L=3; L<=n; L++)
        for (i=1; i+L-1<=n; i++)
        {
            j = i+L-1;
            D[i][j] = INF;
            for (k=i+1; k<j; k++)
                D[i][j] = min(D[i][j], D[i][k]+D[k][j]+x[i]*x[k]*x[j]);
        }
    fout << D[1][n];
    return 0;
}