Pagini recente » Borderou de evaluare (job #2983670) | Cod sursa (job #2555017) | Cod sursa (job #346389) | Cod sursa (job #980486) | Cod sursa (job #1091975)
var a,b:array[1..100000] of longint;
i,j,k,n,max:longint;
f,g:text;
begin
assign(f,'scmax.in');reset(f);
assign(g,'scmax.out');rewrite(g);
readln(f,n);
for i:=1 to n do
read(f,a[i]);
for i:=n-1 downto 1 do
begin
for j:=i+1 to n do
if (a[j]>a[i]) and (b[j]+1>b[i]) then
b[i]:=b[j]+1;
if b[i]>max then max:=b[i];
end;
writeln(g,max+1);
for i:=1 to n do
begin
if b[i]=max then
begin
write(g,a[i],' ');
dec(max);
end;
end;
close(f);close(g);
end.