Cod sursa(job #1542791)

Utilizator ili226Vlad Ilie ili226 Data 5 decembrie 2015 17:34:54
Problema Parantezare optima de matrici Scor 70
Compilator fpc Status done
Runda Arhiva educationala Marime 0.6 kb
var f:text;
    n,i,j,k:word;
    min:longint;
    d:array[1..500]of word;
    best:array[1..500,1..500]of longint;
begin
assign(f,'podm.in');
reset(f);
readln(f,n);
for i:=1 to n+1 do
 read(f,d[i]);
close(f);
for j:=1 to n-1 do
 for i:=1 to n-j do
  if j=1 then
   best[i,i+j]:=d[i]*d[i+j]*d[i+j+1]
           else
   begin
    min:=maxlongint;
    for k:=i to i+j-1 do
     if best[i,k]+best[k+1,i+j]+d[i]*d[k+1]*d[i+j+1]<min then
      min:=best[i,k]+best[k+1,j+i]+d[i]*d[k+1]*d[i+j+1];
    best[i,i+j]:=min;
   end;
assign(f,'podm.out');
rewrite(f);
writeln(f,best[1,n]);
close(f);
end.