Cod sursa(job #2206225)

Utilizator georgitTreista Georgiana georgit Data 21 mai 2018 21:07:33
Problema Parantezare optima de matrici Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
#define Max 100000000000;

using namespace std;
long long dp[505][505],d[505],n;
int main()
{
    ifstream f("podm.in");
    ofstream g("podm.out");
    f>>n;
    for(int i=0;i<=n;i++)
        f>>d[i];
    for(int i=1;i<n;i++)
        dp[i][i+1]=d[i-1]*d[i]*d[i+1];
    for(int k=1;k<=n;k++)
    {
        for(int i=1;i<=n-k;i++)
        {
            int kk=k+i;
            dp[i][kk]=Max;
            for(int j=i;j<kk;j++)
                dp[i][kk]=min(dp[i][kk],dp[i][j]+dp[j+1][kk]+d[i-1]*d[j]*d[kk]);
        }
    }
    g<<dp[1][n];
    return 0;
}