Cod sursa(job #1492450)

Utilizator fanache99Constantin-Buliga Stefan fanache99 Data 27 septembrie 2015 19:24:29
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<cstdio>
using namespace std;
long long v[510],dp[510][510];
long long minim(long long a,long long b){
    if(a>b)
        return b;
    return a;
}
int main(){
    freopen("podm.in","r",stdin);
    freopen("podm.out","w",stdout);
    int n,i,j,k,l;
    scanf("%d",&n);
    n++;
    for(i=1;i<=n;i++)
        scanf("%lld",&v[i]);
    for(l=3;l<=n;l++)
        for(i=1;i<=n-l+1;i++){
            j=i+l-1;
            dp[i][j]=100000000000000000;
            for(k=i+1;k<j;k++)
                dp[i][j]=minim(dp[i][j],dp[i][k]+dp[k][j]+v[i]*v[k]*v[j]);
        }
    printf("%lld",dp[1][n]);
    return 0;
}