Cod sursa(job #743366)

Utilizator Buzu_Tudor_RoCont vechi Buzu_Tudor_Ro Data 3 mai 2012 23:52:19
Problema Parantezare optima de matrici Scor 80
Compilator fpc Status done
Runda Arhiva educationala Marime 0.88 kb
Program Prod_p1;
const infinit=1000000005;
var fi,fo:text;
    i,n,j,w,k : longint;
    d:array[0..507] of longword;
    c:array[0..502,0..502] of longword;

Function min(a,b:longword):longword;
begin
     if a<b then min:=a
            else min:=b;
end;

begin
    assign(fi,'podm.in'); reset(fi);
    assign(fo,'podm.out'); rewrite(fo);
    readln(fi,n);

    for i:=0 to n do read(fi,d[i]);
    for i:=1 to n-1 do begin
                       c[i,i+1]:=d[i-1]*d[i]*d[i+1];
                       c[i,i]:=0;
                       end;
    c[n,n]:=0;

    for w:=2 to n-1 do
       for i:=1 to n-w do begin
                          j:=i+w;
                          c[i,j]:=infinit;
                          for k:=i to j-1 do c[i,j]:=min(c[i,j],c[i,k]+c[k+1,j]+d[i-1]*d[k]*d[j]);
                          end;

    write(fo,c[1,n]);
    close(fi); close(fo);
end.