Cod sursa(job #1163077)

Utilizator chiriacandrei25Chiriac Andrei chiriacandrei25 Data 1 aprilie 2014 10:02:33
Problema Parantezare optima de matrici Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <cstdio>
#include <algorithm>
#define Nmax 505
#define INF 2000000005

using namespace std;

long long dp[Nmax][Nmax];
int a[Nmax];

int main()
{
    int N,i,j,k;
    freopen ("podm.in","r",stdin);
    freopen ("podm.out","w",stdout);
    scanf("%d", &N);
    for(i=0;i<=N;++i)
        scanf("%d", &a[i]);
    for(i=N;i;--i)
        for(j=i+1;j<=N;++j)
        {
            dp[i][j]=INF;
            for(k=i;k<j;++k)
                dp[i][j]=min(dp[i][j],dp[i][k]+dp[k+1][j]+1LL*a[i-1]*a[k]*a[j]);
        }
    printf("%lld\n", dp[1][N]);
    return 0;
}