Cod sursa(job #2545154)

Utilizator Vladymyr11Pechi Vladimir Stefan Vladymyr11 Data 12 februarie 2020 21:04:04
Problema Parantezare optima de matrici Scor 80
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <fstream>

using namespace std;

int main()
{
    ifstream fin ("podm.in");
    ofstream fout("podm.out");
    int n,v[505];
    long long int optim[505][505];
    fin>>n;
    for (int i=0;i<=n;i++)
        {
        fin>>v[i];
        optim[i][i]=0;
        }
    for (int i=1;i<=n-1;i++)
        optim[i][i+1]=v[i-1]*v[i]*v[i+1];
    for (int pas=2;pas<=n-1;pas++)
        for (int i=1;i<=n-pas;i++)
            {
            int j=i+pas;
            optim[i][j]=9223372036854775805;
            for (int k=i;k<=j-1;k++)
                optim[i][j]=min(optim[i][j],optim[i][k]+optim[k+1][j]+v[i-1]*v[k]*v[j]);
            }
    fout<<optim[1][n];
    fin.close();
    fout.close();
    return 0;
}