Pagini recente » Statistici Jianu Anamaria (jianuanamaria) | Cod sursa (job #2620464) | Cod sursa (job #2711843) | Cod sursa (job #1552994) | Cod sursa (job #846051)
Cod sursa(job #846051)
const inf=2000000001;
var fi,fo:text;
m,i,n:longint;
a,q,p:array[1..1000000]of longint;
procedure readData;
begin
readln(fi,n);
for i:=1 to n do read(fi,a[i]);
end;
function insert(k,l,r:longint):longint;
var mid:longint;
begin
mid:=(l+r) div 2;
if l=r then
begin
if l>m then begin inc(m); q[m+1]:=inf end; q[l]:=k; insert:=l;
end
else
if k>q[mid] then insert:=insert(k,mid+1,r) else insert:=insert(k,l,mid);
end;
procedure buildPQ;
begin
q[1]:=inf;
for i:=1 to n do
p[i]:=insert(a[i],1,m+1);
end;
procedure writeData(k:longint);
begin
if p[k]=m then
begin
dec(m);
if k>1 then writeData(k-1);
write(fo,q[p[k]],' ');
end
else
if k>1 then writeData(k-1);
end;
BEGIN
assign(fi,'scmax.in'); reset(fi); assign(fo,'scmax.out'); rewrite(fo);
readData;
buildPQ;
writeln(fo,m);
writeData(n);
close(fi); close(fo);
END.