Cod sursa(job #3274361)

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

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

const int INF=INT_MAX;
vector <vector <int>> dp(501, vector<int>(501, INF));
int 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++){
                int 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;
}