Pagini recente » Cod sursa (job #30461) | Cod sursa (job #2184731) | Cod sursa (job #92851) | Cod sursa (job #20303) | Cod sursa (job #194396)
Cod sursa(job #194396)
var a,l : array[0..100001] of longint;
i,j,n,max,lm : longint;
f,g : text;
procedure drum;
var t,p : longint;
begin
p:=1; t:=0;
repeat
while (l[p]<>lm)or(a[t]>a[p])do inc(p);
write(g,a[p],' ');
t:=p;
dec(lm);
until lm=0;
end;
begin
assign(f,'scmax.in');reset(f);
assign(g,'scmax.out');rewrite(g);
read(f,n);
for i:=1 to n do read(f,a[i]);
{ dinamica }
l[n]:=1;
for i:=n-1 downto 1 do
begin
max:=0;
for j:=i+1 to n do
if (l[j]>max)and(a[i]<a[j])then
max:=l[j];
l[i]:=max+1;
if lm<l[i] then lm:=l[i];
end;
writeln(g,lm);
drum;
close(g);
end.