Pagini recente » Cod sursa (job #3002703) | oji_go_11_12 | Cod sursa (job #1973505) | Borderou de evaluare (job #1938863) | Cod sursa (job #1199285)
type sub=record;
ki,ni,oi:longint;
end;
tablou=array [1..1000000]of sub;
var t:tablou;
a:array [1..1000000]of longint;
i,j,k,m,n:longint;
f,g:text;
begin
assign(f,'scmax.in');
assign(g,'scmax.out');
reset(f);
rewrite(g);
read(f,n);
for i:=1 to n do
read(f,t[i].ki);
t[1].ni:=1;
t[1].oi:=0;
for i:=2 to n do
begin
t[i].ni:=1;
t[i].oi:=1;
for j:=1 to i-1 do
if (t[j].ni+1>t[i].ni)and(t[i].ki>=t[j].ki)then begin
t[i].ni:=t[j].ni+1;
t[i].oi:=j;
end;
end;
m:=0;
for i:=1 to n do
if t[i].ni>m then begin
j:=i;
m:=t[i].ni;
end;
i:=j;
j:=1;
while i<>0 do
begin
a[j]:=t[i].ki;
i:=t[i].oi;
j:=j+1;
end;
writeln(g,m);
for i:=m downto 1 do
write(g,a[i],' ');
close(f);
close(g);
end.