Cod sursa(job #1551072)

Utilizator jurjstyleJurj Andrei jurjstyle Data 15 decembrie 2015 08:33:12
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>
#include <algorithm>
#include <climits>

using namespace std ;

ifstream f ("podm.in") ;
ofstream g ("podm.out") ;

long long a[1005][1005] ;
long long v[1005] , N ;

int main ()
{
 f >> N ;
 for ( int i = 0 ; i <= N ; ++i )
    f >> v[i] ;
 for ( int i = 1 ; i < N ; ++i )
    a[i][i+1] = v[i-1] * v[i] * v[i+1] ;
 for ( int k = 2 ; k < N ; ++k )
    for ( int i = 1 ; i <= N - k ; ++i )
        {
         int j = i + k ;
         a[i][j] = 9e18 ;
         for ( int l = i ; l < j ; ++l )
            a[i][j] = min ( a[i][j] , a[i][l] + a[l+1][j] + v[i-1] * v[l] * v[j] ) ;
        }

 g << a[1][N] ;
}