Cod sursa(job #1153577)

Utilizator Vele_GeorgeVele George Vele_George Data 25 martie 2014 16:26:30
Problema Cel mai lung subsir comun Scor 0
Compilator fpc Status done
Runda Arhiva educationala Marime 0.75 kb
var V:array[0..1030,0..1030] of integer;
    a,b,c:array[0..1034] of word;
    n,m,i,j,h:integer;
    f,g:text;
function max(x,y:integer):integer;
 begin
  if x>y then max:=x
         else max:=y;
 end;

begin
 assign(f,'cmlsc.in');reset(f);
 assign(g,'cmlsc.out');rewrite(g);
 readln(f,n,m);
 for i:=1 to n do read(f,a[i]);
 readln(f);
 for i:=1 to m do read(f,b[i]);

 h:=0;
 for i:=1 to n do
  for j:=1 to m do
   begin
    if a[i]=b[j] then begin
                       inc(h);
                       c[h]:=a[i]; // sau b[j]
                       v[i,j]:=v[i-1,j-1]+1;
                      end
                 else v[i,j]:=max(v[i-1,j],v[i,j-1]);
   end;

 writeln(g,h);
 for i:=1 to h do write(g,c[i],' ');
close(g);
close(f);
end.