Cod sursa(job #1109570)

Utilizator bogdanpaunFMI Paun Bogdan Gabriel bogdanpaun Data 17 februarie 2014 12:55:22
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
using namespace std;

long long N,A[505];
long long D[505][505];

void citire();

int main()
{
    citire();

    for( int i=N; i>=1; --i){
        D[i][i]=0;
        if( i < N )  {D[ i ][ i+1 ] = A[ i-1 ] * A[ i ] * A[ i+1 ]; }
        for(int j=i+2; j<=N ; ++j){
            D[i][j]= 1e18;
            for(int k=i; k<j; ++k)
                D[i][j]=min(  D[i][j] , D[i][k] + D[k + 1][j] + A[i - 1] * A[k] * A[j] );
        }
    }
    ofstream g("podm.out");
    g<<D[1][N];
    g.close();


    return 0;
}


void citire(){
    ifstream f("podm.in");
    f>>N;
    for( int i=0;i<=N;++i){
        f>>A[i];
    }
    f.close();
}