Pagini recente » Cod sursa (job #3277360) | Cod sursa (job #2356091) | Cod sursa (job #1581778) | Cod sursa (job #1318353) | Cod sursa (job #1032958)
var a,b,d:array[1..1024] of integer;
c:array[0..102,0..102] of integer;
m,n,i,j,k,max:longint;
f,g:text;
begin
assign(f,'cmlsc.in');reset(f);
assign(g,'cmlsc.out');rewrite(g);
readln(f,m,n);
for i:=1 to m do
read(f,a[i]);
for j:=1 to n do
read(f,b[j]);
for i:=1 to m do
for j:=1 to n do
begin
if a[i]=b[j] then c[i,j]:=c[i-1,j-1]+1
else if c[i-1,j]>c[i,j-1] then c[i,j]:=c[i-1,j] else c[i,j]:=c[i,j-1];
if c[i,j]>max then max:=c[i,j];
end;
writeln(g,max);
k:=max;
while k>0 do
for i:=m downto 1 do
for j:=n downto 1 do
if (a[i]=b[j]) and (c[i,j]=k) then begin d[k]:=a[i];k:=k-1;end;
for i:=1 to max do
write(g,d[i],' ');
close(f);close(g);
end.