Pagini recente » Cod sursa (job #1621323) | Cod sursa (job #1780163) | Cod sursa (job #2456755) | Cod sursa (job #177895) | Cod sursa (job #735521)
Cod sursa(job #735521)
Program P1;
var fi,fo : text;
i,n,x,x2 : longword;
a,c,l : array[0..100000] of longword;
Procedure inserare(left,right : longword);
var mijl:longword;
begin
mijl:=(left+right) div 2;
if left=right then begin
c[right]:=a[i];
if right>x then x:=right;
l[i]:=right;
end
else begin
if (a[i]>c[mijl]) then inserare(mijl+1,right)
else inserare(left,mijl);
end;
end;
begin
assign(fi,'scmax.in'); reset(fi); readln(fi,n);
assign(fo,'scmax.out'); rewrite(fo); x:=0;
for i:=1 to n do read(fi,a[i]);
for i:=1 to n do inserare(1,x+1);
writeln(fo,x); x2:=x;
for i:=n downto 1 do if l[i]=x then begin
c[x]:=a[i];
x:=x-1;
end;
for i:=1 to x2 do write(fo,c[i], ' ');
close(fi); close(fo);
end.