Cod sursa(job #2762279)

Utilizator ioana0211Ioana Popa ioana0211 Data 6 iulie 2021 11:54:19
Problema Parantezare optima de matrici Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include <fstream>

using namespace std;

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

long long n, D[505], dp[505][505];
int main()
{
    fin>>n;
    for(int i=0; i<=n; i++) fin>>D[i];
    int col=2;
    while(col<=n)
    {
        int i=1, j=col;
        while(i<=n && j<=n)
        {
            for(int k=i; k<=(j-1); k++)
                if(dp[i][j]==0)
                    dp[i][j]=dp[i][k]+dp[k+1][j]+D[i-1]*D[k]*D[j];
                else
                    dp[i][j]=min(dp[i][j], dp[i][k]+dp[k+1][j]+D[i-1]*D[k]*D[j]);
            i++; j++;
        }
        col++;
    }
    fout<<dp[1][n];
    return 0;
}