Cod sursa(job #1801108)

Utilizator VladG26Ene Vlad-Mihai VladG26 Data 8 noiembrie 2016 17:50:08
Problema Parantezare optima de matrici Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>
#include <cstdio>
using namespace std;
int n,dp[501][501],d[501];
void citire()
{
    scanf("%d",&n);
    for(int i=0;i<=n;i++)
        scanf("%d",&d[i]);
}
int minF(int a,int b)
{
    int minRez=9999999;
    for(int k=a;k<=b;k++)
    minRez=min(minRez,dp[a][k]+dp[k+1][b+1]+d[a-1]*d[k]*d[b+1]);
    return minRez;
}
void solve()
{
    for(int z=2;z<=n;z++)
    for(int i=1,j=z;j<=n;i++,j++)
        dp[i][j]=minF(i,j-1);

}
int main()
{
    freopen("podm.in","r",stdin);
    freopen("podm.in","w",stdout);
    citire();
    solve();
    printf("%d",dp[1][n]);

    return 0;
}