Cod sursa(job #2392219)

Utilizator Constantin.Dragancea Constantin Constantin. Data 29 martie 2019 19:54:08
Problema Parantezare optima de matrici Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.53 kb
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

#define N 505
ll n, d[N], dp[N][N];

int main(){
    ifstream cin ("podm.in");
    ofstream cout ("podm.out");
    cin >> n;
    for (int i=0; i<=n; i++) cin >> d[i];
    for (int l=1; l<n; l++){
        for (int i=1; i<=n-l; i++){
            dp[i][i+l] = (1LL<<62);
            for (int j=i; j<=i+l; j++)
                dp[i][i+l] = min(dp[i][i+l], dp[i][j] + dp[j+1][i+l] + d[i-1]*d[j]*d[i+l]);
        }
    }
    cout << dp[1][n];
    return 0;
}