Pagini recente » Cod sursa (job #2001997) | Cod sursa (job #713881) | Cod sursa (job #1794239) | Cod sursa (job #1137780) | Cod sursa (job #702502)
Cod sursa(job #702502)
program subsir;
var f,g:text;
n,i:longint;
p,q,v,solutie:array[0..100000] of longint;
nr,lungime:longint;
bufin,bufout:array[1..1 shl 17] of char;
procedure inserare (nr:longint;i:longint);
var j:longint;
begin
for j:=1 to nr do
if q[j]>v[i] then
begin
q[j]:=v[i];
p[i]:=j;
break;
end;
end;
begin
assign (f,'scmax.in'); reset (f);
assign(g,'scmax.out'); rewrite (g);
readln (f,n);
for i:=1 to n do
read (f,v[i]);
nr:=0;
for i:=1 to n do
begin
if v[i]>q[nr] then
begin
nr:=nr+1;
q[nr]:=v[i];
p[i]:=nr;
end
else
inserare (nr,i);
end;
writeln (g,nr);
lungime:=nr;
for i:=n downto 1 do
if p[i]=nr then
begin
solutie[nr]:=v[i];
nr:=nr-1;
end;
for i:=1 to lungime do
write (g,solutie[i],' ');
close (f); close (G);
end.