Cod sursa(job #146267)

Utilizator ghitza_2000Stefan Gheorghe ghitza_2000 Data 1 martie 2008 14:59:53
Problema Cel mai lung subsir comun Scor 10
Compilator fpc Status done
Runda Arhiva educationala Marime 0.85 kb
type vector=array[1..1024] of integer;
var n,i,j,m,ct,k,max,h,v,z:integer;
    p:boolean;
    a:vector;
    b:vector;
    c:vector;
    d:vector;
    f:text;
begin
assign(f,'cmlsc.in'); reset(f);
readln(f,m,n); ct:=0;  max:=0;  k:=0; v:=0;
for i:=1 to m do
read(f,a[i]);
for i:=1 to n do
read(f,b[i]);
close(f);
for i:=1 to m do
begin
p:=false;
 for j:=ct+1 to n do
 if a[i]=b[j] then begin
       p:=true;
       inc(ct);
       c[ct]:=a[i];
             break;
             end;
if (j>k) and (p) then begin  z:=v+1;
                             d[z]:=a[i];
                             end
                      else ct:=0;
if ct>max then begin for h:=1 to ct do
d[h]:=c[h];
max:=ct;
k:=j;  v:=ct;
end;
end;
assign(f,'cmlsc.out'); rewrite(f);
if z>ct then ct:=z;
writeln(f,ct);
for i:=1 to ct do
write(f,d[i],' ');
close(f);
end.