Cod sursa(job #1325912)

Utilizator badea_adi1999Badea Adrian Catalin badea_adi1999 Data 24 ianuarie 2015 14:47:26
Problema Parantezare optima de matrici Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <cstdio>
#include <fstream>
#include <algorithm>
#define nmax 505
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");

long long d[nmax][nmax];
int n,l[nmax];

inline long long minim(long long i,long long j)
{
    if (i>j) return j;
    return i;

}

int main()
{
    int i,j,p,k;

    f>>n;
    for (i=1;i<=n+1;i++) f>>l[i];

    for (p=2;p<=n;p++) {
        for (i=1;i+p-1<=n;i++) {
            j=i+p-1;
            d[i][j]=(1LL<<62);

            for (k=i;k<j;k++)
                    d[i][j]=minim( d[i][j]  , d[i][k] + d[k+1][j] + 1LL*l[i]*l[k+1]*l[j+1]);
        }
    }
    g<<d[1][n];

    return 0;
}