Cod sursa(job #3274362)

Utilizator mariusharabariMarius Harabari mariusharabari Data 6 februarie 2025 15:46:13
Problema Parantezare optima de matrici Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <bits/stdc++.h>
using namespace std;

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

const long long INF=LLONG_MAX;
vector <vector <long long>> dp(501, vector<long long>(501, INF));
long long dim[502];
int x, i, j, k, l, n;

int main(){
    fin>>n;
    for(int i=0;i<=n;i++){
        fin>>dim[i];
        dp[i][i]=0;
    }
    for(l=1;l<=n-1;l++){
        for(i=1;i<=n-l;i++){
            j=i+l;
            for(int k=i;k<j;k++){
                long long d=dp[i][k]+dp[k+1][j]+dim[i-1]*dim[k]*dim[j];
                if(d<dp[i][j]) dp[i][j]=d;
            }
        }
    }
    fout<<dp[1][n];
    return 0;
}