Cod sursa(job #2977569)

Utilizator TODEToderita Mihai TODE Data 11 februarie 2023 20:58:25
Problema Parantezare optima de matrici Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
using namespace std;

ifstream in("podm.in");
ofstream out("podm.out");
int n;
int dim[502] , dp[502][502];
const long long INF = 1e28;
int main(){
    in >> n;
    for(int i = 0 ; i <= n ; i++){
        in >> dim[i];
    }
    for(int i = n ; i >= 1 ; i--){
        for(int j = i ; j <= n ; j++){
            if(i == j){
                dp[i][j] = 0;
            }
            else{
                dp[i][j] = INF;
                for(int k = i ; k < j ; k++){
                    dp[i][j] = min(dp[i][j] , dp[i][k] + dp[k + 1][j] + dim[i - 1] * dim[k] * dim[j]);
                }
            }
        }
    }
    out << dp[1][n];
}