Cod sursa(job #2455728)

Utilizator FlaviusFeteanFetean Flavius FlaviusFetean Data 12 septembrie 2019 16:43:47
Problema Parantezare optima de matrici Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>
#define inf 100000000000000000000

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

int main()
{
    long long v[501], m[501][501], d, i, j, n;

    fin >> n;
    for(i = 0; i <= n; i++) fin >> v[i];

    for(i = 1; i <= n; i++) for(j = 1; j <= n; j++)
        if(i >= j) m[i][j] = 0; else m[i][j] = inf;

    for(d = 1; d < n; d++)
        for(i = 1; i <= n - d; i++)
            for(j = i; j < i + d; j++)
                m[i][i + d] = min(m[i][i + d], m[i][j] + m[j + 1][i + d] + v[i - 1]*v[j]*v[i + d]);

    fout << m[1][n];
    return 0;
}