Cod sursa(job #2153305)

Utilizator alexilasiAlex Ilasi alexilasi Data 6 martie 2018 09:32:11
Problema Parantezare optima de matrici Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <bits/stdc++.h>

using namespace std;

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

int n,i,k,j;

long long dp[510][510],a[510];

int main()
{
    fin>>n;
    for(i=1;i<=n+1;i++)fin>>a[i];
    for(i=1;i<n;i++)dp[i][i+1]=a[i]*a[i+1]*a[i+2];
    for(k=2;k<n;k++)
        for(i=1;i<=n-k;i++)
        {
            dp[i][i+k]=INT_MAX;
            for(j=i;j<i+k;j++)
                dp[i][i+k]=min(dp[i][i+k],dp[i][j]+dp[j+1][i+k]+a[i]*a[j+1]*a[i+k+1]);
        }
    fout<<dp[1][n];
    return 0;
}