Pagini recente » Cod sursa (job #399652) | Cod sursa (job #1405323) | Cod sursa (job #3128067) | Cod sursa (job #1113402) | Cod sursa (job #559806)
Cod sursa(job #559806)
uses crt;
type rekord=record
a,c:longint;
end;
vektor=array[1..100000] of rekord;
vektor1=array[1..100000] of integer;
var v:vektor;
i,j,n,max,b,h,db,db1:longint;
g,f:text;
v1,v2:vektor1;
begin
clrscr;
assign(f,'scmax.in');
reset(f);
readln(f,n);
for i:= 1 to n do
read(f,v[i].c);
close(f);
v[n].a:=1;
b:=n-1;
db:=1;
v1[db]:=1;
for i:= b downto 1 do
begin
max:=0;
for j:=i to n do
if v[i].c<v[j].c
then
if max<v[j].a
then
max:=v[j].a;
v[i].a:=max+1;
inc(db);
v1[db]:=max+1;
end;
max:=v1[1];
db1:=0;
for i:= 2 to db do
if v1[i]>max
then
begin
max:=v1[i];
v2[1]:=i;
end;
for i:= 1 to n do
if v[i].a=max
then
begin
inc(db1);
v2[db1]:=v[i].c;
end;
h:=max;
db1:=1;
repeat
dec(h);
for i:= 1 to n do
if (v[i].a=h) and (v2[db1]<v[i].c)
then
begin
inc(db1);
v2[db1]:=v[i].c;
end;
until h=1;
assign(g,'scmax.out');
rewrite(g);
writeln(g,max);
for i:= 1 to db1 do
write(g,v2[i],' ');
close(g);
readln;
end.