Cod sursa(job #3216059)

Utilizator diana_dd03Dorneanu Diana diana_dd03 Data 15 martie 2024 16:45:10
Problema Parantezare optima de matrici Scor 80
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <bits/stdc++.h>
using namespace std;

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

int n;
int m[505];
long long dp[505][505];

int main(){
    fin>>n;
    for(int i=1;i<=n+1;i++)
        fin>>m[i];
    //d=i-j
    for(int d=1;d<=n-1;d++){
        for(int i=1;i<=n-d;i++){
            int j=i+d;
            for(int h=i;h<=j;h++)
                if(dp[i][j]==0)
                    dp[i][j]=dp[i][h]+dp[h+1][j]+
                            m[i]*m[h+1]*m[j+1];
                else
                    dp[i][j]=min(dp[i][j],
                                 dp[i][h]+dp[h+1][j]+
                            m[i]*m[h+1]*m[j+1]);
        }

    }
    fout<<dp[1][n];
    return 0;
}