Cod sursa(job #2737434)

Utilizator AndreiD31Dragan Andrei AndreiD31 Data 4 aprilie 2021 19:07:01
Problema Parantezare optima de matrici Scor 80
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("podm.in");
ofstream g("podm.out");

long long n,i,j,k,st[510],dr[510],dp[510][510];

int main()
{
    f>>n;
    f>>st[1]>>dr[1];
    for(i=2;i<=n;i++)
    {
        f>>dr[i];
        st[i]=dr[i-1];
    }

    for(i=1;i<=n;i++)dp[i][i+1]=st[i]*st[i+1]*dr[i+1];

    for(i=n;i>=1;i--)
    for(j=i+2;j<=n;j++)
    {
        dp[i][j]=INT_MAX;
        for(k=i;k<j;k++)
            dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+1][j]+st[i]*st[k+1]*dr[j]);
    }
    g<<dp[1][n];
    return 0;
}