Cod sursa(job #2072652)

Utilizator ARobertAntohi Robert ARobert Data 22 noiembrie 2017 01:01:11
Problema Parantezare optima de matrici Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <bits/stdc++.h>

using namespace std;

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

int n, d[510],dp[510][510],i,j,k;

int main()
{
    fin>>n;
    for(i=0;i<=n;++i)
        fin>>d[i];
    for(i=1;i<n;++i)
            dp[i][i+1]=d[i-1]*d[i]*d[i+1];

    for(i=2;i<n;++i)
       for(j=1;j<=n-i;++j)
    {
        dp[j][j+i]=2147483647;
        for(k=j;k<i+j;++k)
            dp[j][j+i]=min(dp[j][j+i],dp[j][k]+dp[k+1][j+i]+d[j-1]*d[k]*d[i+j] );
    }
    fout<<dp[1][n];
    return 0;
}