Pagini recente » Cod sursa (job #2893916) | Cod sursa (job #2786700) | Cod sursa (job #2955920) | Cod sursa (job #35332) | Cod sursa (job #503351)
Cod sursa(job #503351)
var
i,j,n,poz,max:longint;
l,a:array[1..100000] of longint;
f,g:Text;
begin
assign(F,'scmax.in');reset(F);
assign(g,'scmax.out');rewrite(g);
readln(f,n);
for i:=1 to n do read(f,a[i]);
for i:=1 to n do l[i]:=0;
l[n]:=1;
max:=l[n];
poz:=n;
for i:=n-1 downto 1 do
begin
max:=0;
for j:=1+i to n do
if (a[j]>a[i]) and (max<l[j]) then max:=l[j];
l[i]:=1+max;
if max<l[i] then
begin
max:=l[i];
poz:=i;
end;
end;
//max:=0;
{for i:=1 to n do
if max<l[i] then
begin
max:=l[i];
poz:=i;
end;
}
writeln(g,max);
write(g,a[poz],' ');
i:=poz;
while max>1 do
begin
if(a[i]>a[poz]) and (l[i]=max-1) then
begin
poz:=i;
write(g,a[poz],' ');
max:=max-1;
end;
i:=i+1;
end;
close(f);close(g);
end.