Pagini recente » Cod sursa (job #1216329) | Cod sursa (job #2282580) | Cod sursa (job #81788) | Cod sursa (job #74238) | Cod sursa (job #559816)
Cod sursa(job #559816)
uses crt;
type rekord=record
a,c:longint;
end;
vektor=array[1..500000] of rekord;
vektor1=array[1..500000] of longint;
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;
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;
dec(h);
end;
assign(g,'scmax.out');
rewrite(g);
writeln(g,max);
for i:= 1 to db1 do
write(g,v2[i],' ');
close(g);
readln;
end.