Cod sursa(job #2545308)

Utilizator mihnea03Ciocioiu Mihnea mihnea03 Data 12 februarie 2020 23:15:11
Problema Parantezare optima de matrici Scor 70
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
#define dim 510
#define INF 1LL*(1<<30)
using namespace std;
int d[dim][dim];
int a[dim];
int b[dim];
int i,j,k,n,val,len;

int main() {
    ifstream fin("podm.in");
    ofstream fout("podm.out");
    fin>>n;
    n++;
    for (i=1;i<=n;i++) {
        fin>>a[i];
    }
    for (len=3;len<=n;len++) {
        for (i=1;i<=n-len+1;i++) {
            j=len+i-1;
            val=INF;
            for (k=i+1;k<j;k++) {
                val=min(val,d[i][k]+d[k][j]+(a[i]*a[k]*a[j]));
            }
            d[i][j]=val;
        }
    }
    fout<<d[1][n];//<<" "<<INT_MAX<<" "<<INF;
    return 0;
}