Cod sursa(job #2351939)

Utilizator alexdumitrescuDumitrescu George Alex alexdumitrescu Data 22 februarie 2019 20:31:21
Problema Parantezare optima de matrici Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>

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

unsigned long long n, i, j, d, k, minn, nr[505][505], p[505];

int main()
{
    fin >> n;

    for(i=1; i<=n+1; i++)
        fin >> p[i];

    for(i=1;i<n;i++)
        nr[i][i+1]=p[i]*p[i+1]*p[i+2];

    for(d=3; d<=n; d++)
        for(i=1, j=d; j<=n; i++, j++)
        {
            minn= nr[i][i] + nr[i+1][j] + p[i]*p[i+1]*p[j+1];

            for(k=1; k<j; k++)
                minn=min(minn, nr[i][k] + nr[k+1][j] + p[i]*p[k+1]*p[j+1]);

            nr[i][j]=minn;
        }

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