Pagini recente » Cod sursa (job #500454) | Cod sursa (job #1476609) | Cod sursa (job #1252370) | Cod sursa (job #2172827) | Cod sursa (job #209161)
Cod sursa(job #209161)
program pascal;
var f,g:text;
sol,v:array[1..100000] of longint;
n,i,j,k,p,max,maxim:longint;
begin
assign(f,'scmax.in'); reset(f);
assign(g,'scmax.out'); rewrite(g);
readln(f,n);
for i:=1 to n do read(f,v[i]);
sol[n]:=1;
maxim:=0;
for k:=n-1 downto 1 do
begin
max:=0;
for j:=k+1 to n do
if (v[k]<v[j]) and (sol[j]>max) then max:=sol[j];
sol[k]:=max+1;
if sol[k]>maxim then
begin
maxim:=sol[k];
p:=k;
end;
end;
max:=maxim;
writeln(g,maxim);
write(g,v[p],' ');
I:=p;
maxim:=v[p];
while max<>1 do
begin
i:=i+1;
if (sol[i]=max-1) and (v[i]>maxim) then
begin
write(g,v[i],' ');
max:=max-1;
maxim:=v[i];
end;
end;
close(f);
close(g);
end.