Pagini recente » Cod sursa (job #1020687) | Cod sursa (job #3231047) | Cod sursa (job #3140463) | Cod sursa (job #125322) | Cod sursa (job #701362)
Cod sursa(job #701362)
var f,g:text;
a,b,aux:array[1..100000]of longint;
i,j,n,max,max1,p,k:longint;
buf1,buf2:array[1..1 shl 17]of char;
begin
assign(f,'scmax.in');settextbuf(f,buf1);reset(f);
assign(g,'scmax.out');settextbuf(g,buf2);rewrite(g);
readln(f,n);
for i:=1 to n do
read(f,a[i]);
max1:=1;aux[n+1]:=maxlongint;
aux[1]:=1;
for i:=2 to n do
begin
max:=0;
for j:=1 to i-1 do
if (a[j]<a[i]) and (aux[j]>max)
then max:=aux[j];
aux[i]:=max+1;
if aux[i]>max1 then begin
max1:=aux[i];
p:=i;
end;
end;
k:=1;
b[k]:=a[p];
for i:=p-1 downto 1 do
if aux[i]=aux[p]-1 then
begin
p:=i;
k:=k+1;
b[k]:=a[i];
end;
writeln(g,k);
for i:=k downto 1 do
write(g,b[i],' ');
close(f);close(g);
end.