Cod sursa(job #408811)

Utilizator petrecgClinciu Glisca Petre petrecg Data 3 martie 2010 11:30:41
Problema Parantezare optima de matrici Scor 70
Compilator fpc Status done
Runda Arhiva educationala Marime 0.6 kb
var i,j,k,l,n:longint;
    a:array[0..510]of longint;
    b:array[1..510,1..510]of longint;
    f,g:text;
function min(x:longint;y:longint):longint;
begin
 if x>y then min:=y else min:=x;
end;

begin
 assign(f,'podm.in');reset(f);
 assign(g,'podm.out');rewrite(g);
 read(f,n);
 for i:=0 to n do read(f,a[i]);
 for i:=1 to n do b[i][i+1]:=a[i-1]*a[i]*a[i+1];
 for l:=2 to n-1 do
  for i:=1 to n-l do
   begin
    j:=i+l;
    b[i][j]:=2000000000;
    for k:=i to j-1 do
     b[i][j]:=min(b[i][j],b[i][k]+b[k+1][j]+a[i-1]*a[k]*a[j]);
   end;
 writeln(g,b[1][n]);
 close(f);close(g);
end.