Cod sursa(job #679047)

Utilizator ion_calimanUAIC Ion Caliman ion_caliman Data 12 februarie 2012 18:28:05
Problema Parantezare optima de matrici Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>
using namespace std;
ifstream f("podm.in");
ofstream g("podm.out");

#define min(a,b) (a<b)?a:b

int N, d[550];
long long p;

long long podm(int l, int r)
{
    if (r-l<=1) return 0;
    int i,p=l+1;
    long long minim = 2000000000;
    //for (i=l+2; i<r; i++) if (d[i]<d[p]) p = i;
    //return d[l]*d[r]*d[p] + podm(l,p) + podm(p,r);
    for (i=l+1; i<r; i++) minim = min(d[l]*d[r]*d[p] + podm(l,p) + podm(p,r), minim);
    return minim;
}

int main()
{
    int i;
    f >> N;
    for (i=0; i<=N; i++) f >> d[i];
    p = podm(0,N);
    g << p;
}