Cod sursa(job #761739)

Utilizator ctlin04UAIC.VlasCatalin ctlin04 Data 27 iunie 2012 11:53:46
Problema Parantezare optima de matrici Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.75 kb
Program podm;
const inf=1000000000000;
 var a:array [0..505,0..505] of int64;
     d:array [0..505] of int64;
     b1:array [1..1 shl 10] of char;
     i,j,n,k,w:integer;
     fi,fo:text;
function min(a,b:int64):int64;
begin
 if a<b then min:=a else min:=b;
end;
begin
 assign(fi,'podm.in');
  assign(fo,'podm.out');
 settextbuf(fi,b1);
 reset(fi); rewrite(fo); readln(fi,n);
  for i:=0 to n do read(fi,d[i]);
   for i:=1 to n-1 do a[i,i+1]:=d[i-1]*d[i]*d[i+1];
  for w:=2 to n-1 do
   for i:=1 to n-w do begin
                  j:=i+w;
                  a[i,j]:=inf;
                  for k:=i to j-1 do
                   a[i,j]:=min(a[i,j],a[i,k]+a[k+1,j]+d[i-1]*d[i]*d[i+1]);
                  end;
   write(fo,a[1,n]);
  close(fo);
end.