Cod sursa(job #1714356)

Utilizator PaulStighiStiegelbauer Paul-Alexandru PaulStighi Data 7 iunie 2016 23:22:06
Problema Parantezare optima de matrici Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include<fstream>
#define oo 1LL<<62
using namespace std;
ifstream fin("podm.in");
ofstream fout("podm.out");

int N;
int X[505];
long long DP[505][505];

int main()
{
    fin>>N;

    for(int i = 0 ; i <= N ; ++i)
        fin>>X[i];

    for(int pas = 1 ; pas < N ; ++pas)
        for(int i = 1 ; i <= N-pas ; ++i)
        {
            int j = i+pas;

            DP[i][j] = oo;

            for(int k = i ; k <= j ; ++k)
            {
                DP[i][j] = min(DP[i][j],DP[i][k] + DP[k+1][j] + X[i-1] * X[k] * X[j]);
            }
        }

    fout<<DP[1][N]<<"\n";

    fin.close();
    fout.close();
    return 0;
}