Cod sursa(job #1889294)

Utilizator delta_wolfAndrei Stoica delta_wolf Data 22 februarie 2017 17:45:59
Problema Parantezare optima de matrici Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <cstdio>
#include <algorithm>

using namespace std;

long long int j,mnm,n,d[505],dp[505][505];

int main()
{
    freopen("podm.in","r",stdin);
    freopen("podm.out","w",stdout);
    scanf("%d",&n);
    for(int i=0;i<=n;i++)
        scanf("%d",&d[i]);

    for(int l=2;l<=n;l++)
        for(int i=1;i<=n-l+1;i++)
        {
            j=i+l-1;
            mnm=4223372036854775807;
            for(int k=i;k<j;k++)
                mnm=min(mnm,dp[i][k]+dp[k+1][j]+d[i-1]*d[k]*d[j]);
            dp[i][j]=mnm;
        }
    printf("%d",dp[1][n]);
    return 0;
}