Pagini recente » Istoria paginii runda/fdgf.g/clasament | Cod sursa (job #2853895) | simlotvrancea2010baraj1.1 | Cod sursa (job #2432321) | Cod sursa (job #2574538)
var t,v:array[1..100005] of longint;
n,i,k,st,dr,poz,mij:longint;
begin
assign(input,'scmax.in'); reset(input);
assign(output,'scmax.out'); rewrite(output);
readln(n);
for i:=1 to n do read(t[i]);
k:=1; v[k]:=t[1];
for i:=2 to n do
if t[i]>=v[k] then
begin
inc(k);
v[k]:=t[i]
end
else
begin
st:=1; dr:=k; poz:=k+1;
while st<=dr do
begin
mij:=(st+dr) div 2;
if v[mij]>=t[i] then
begin
poz:=mij;
dr:=mij-1
end else
st:=mij+1
end;
v[poz]:=t[i]
end;
writeln(k);
for i:=1 to k do write(v[i],' ');
close(input);
close(output)
end.