Pagini recente » Cod sursa (job #1003285) | Cod sursa (job #9301) | Cod sursa (job #925895) | Cod sursa (job #2850181) | Cod sursa (job #1199253)
var s:array[0..100000] of longint;
v:array[0..100000] of longint;
p:array[0..100000] of longint;
a:array[0..100000] of longint;
i,n: longint;
f: longint;
max: longint;
j: longint;
b,b1:array[1..1 shl 15] of char;
fi,fo: text;
begin
assign(fi,'scmax.in');
reset(fi);
assign(fo,'scmax.out');
rewrite(fo);
settextbuf(fi,b);
settextbuf(fo,b1);
readln(fi,n);
for i:=1 to n do
read(fi,s[i]);
v[1]:=1;
s[0]:=0;
v[0]:=0;
for i:=2 to n do begin
max:=-1;
for j:=i downto 0 do
if (s[j]<s[i])and(v[j]>max) then begin
max:=v[j];f:=j;
end;
v[i]:=max+1;
p[i]:=f;
end;
max:=-1;
for i:=1 to n do
if v[i]>max then begin
j:=i;max:=v[i];
end;
writeln(fo,max);
f:=0;
while (j>0) do begin
inc(f);
a[f]:=s[j];
j:=p[j];
end;
for i:=f downto 1 do write(fo,a[i],' ');
close(fi);
close(fo);
end.