Pagini recente » Cod sursa (job #1998586) | Cod sursa (job #1657258) | Cod sursa (job #2567848) | Cod sursa (job #574898) | Cod sursa (job #2577876)
var t,v,w,q:array[1..1005] of longint;
n,i,j,mx,p,x: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]);
v[1]:=1; w[1]:=1;
for i:=2 to n do
begin
mx:=0; p:=i;
for j:=1 to i-1 do
if (t[j]<t[i]) and (v[j]>mx) then
begin
mx:=v[j];
p:=j
end;
v[i]:=mx+1;
w[i]:=p
end;
mx:=0; p:=0;
for i:=1 to n do
if v[i]>mx then
begin
mx:=v[i];
p:=i
end;
x:=1; q[x]:=p; dec(mx);
while mx>0 do
begin
dec(mx);
inc(x);
q[x]:=w[p];
p:=w[p]
end;
writeln(x);
for i:=x downto 1 do write(t[q[i]],' ');
close(input);
close(output)
end.