Pagini recente » Cod sursa (job #3251837) | Cod sursa (job #239626) | Cod sursa (job #2012688) | Cod sursa (job #432595) | Cod sursa (job #593182)
Cod sursa(job #593182)
program p2;
var a,b:array[1..100000]of integer;
i,j,n,max,p:longint;
f1,f2:text;
procedure citire;
begin
readln(f1,n);
for i:=1 to n do
read(f1,a[i]);
end;
procedure notare;
begin
for i:=n-1 downto 1 do
begin
p:=i;
for j:=i to n do
if (a[j]>a[i])and(b[j]>b[p]) then
p:=j;
b[i]:=b[p]+1;
end;
end;
procedure cmax;
begin
for i:=1 to n do
if max<b[i] then
max:=b[i];
end;
procedure afisare;
begin
writeln(f2,max);
for i:=1 to n do
if b[i]=max then
begin
write(f2,a[i],' ');
dec(max);
end;
end;
begin
assign(f1,'scmax.in'); reset(f1);
assign(f2,'scmax.out'); rewrite(f2);
citire;
b[n]:=1;
notare;
cmax;
afisare;
close(f1); close(f2);
End.