Pagini recente » Cod sursa (job #358660) | Cod sursa (job #2086296) | Cod sursa (job #2274250) | Cod sursa (job #3198140) | Cod sursa (job #899051)
Cod sursa(job #899051)
program dinamica;
var f,g:text;
n,i,j,nr:longint;
v:array[1..100000] of longint;
q,p:array[0..100000] of longint;
sol:array[1..100000] of longint;
bufin,bufout:array[1..65000] of byte;
begin
assign (f,'scmax.in'); reset (f);
assign (g,'scmax.out'); rewrite (g);
settextbuf (f,bufin);
settextbuf (g,bufout);
readln (f,n);
nr:=0;
for i:=1 to n do read (f,v[i]);
for i:=1 to n do
begin
if v[i]>q[nr] then
begin
inc(nr); q[nr]:=v[i]; p[i]:=nr;
end
else
begin
for j:=1 to nr do
if q[j]>=v[i] then
begin
q[j]:=v[i];
p[i]:=j;
break;
end;
end;
end;
writeln (g,nr);
for i:=nr downto 1 do
begin
for j:=n downto 1 do
if p[j]=i then
begin
sol[i]:=v[j];
break;
end;
end;
for i:=1 to nr do write (g,sol[i],' ');
close (F); close (G);
end.