Pagini recente » Cod sursa (job #1872958) | Cod sursa (job #39135) | Cod sursa (job #1407428) | Cod sursa (job #2062999) | Cod sursa (job #914579)
Cod sursa(job #914579)
program subsir_creste_de_nu_se_mai_opreste;
type vect=array[1..100000]of longint;
var v,l:vect;
n,i,k,x,max,imax: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,v[i]);
fillchar(l,n,0);
l[n]:=1;
for i:=n-1 downto 1 do begin
x:=0;
for k:=i+1 to n do if (v[k]>=v[i])and(l[k]>x)then x:=l[k];
l[i]:=1+x;
end;
max:=l[1];imax:=1;
for i:=1 to n do if l[i]>max then begin
max:=l[i];
imax:=i;
end;
writeln(g,max);
write(g,v[imax],' ');
for i:=imax+1 to n do if (v[i]>=v[max])and(l[i]>=max-1) then
begin
write(g,v[i],' ');
dec(max);
end;
close(f);close(g);
end.