Pagini recente » Cod sursa (job #1517452) | Cod sursa (job #1287754) | Cod sursa (job #242134) | Cod sursa (job #1886315) | Cod sursa (job #903171)
Cod sursa(job #903171)
program subsir_de_lungime_maxima;
type vector=array[0..100000] of longint;
var v,l:vector;
intrare,iesire:array[1..100001] of char;
i,n,k,max,t:longint;
f,g:text;
begin
assign(f,'scmax.in');reset(f); settextbuf(f,intrare);
assign(g,'scmax.out');rewrite(g); settextbuf(g,iesire);
readln(f,n);
for i:=1 to n do read(f,v[i]);
l[n]:=1; v[0]:=2000000000;
max:=0;
for i:=n-1 downto 1 do
begin
l[i]:=1;
for k:=i+1 to n do if (v[k]>v[i])and(l[i]<l[k]+1)then begin
l[i]:=l[k]+1;
if l[i]>max then begin
max:=l[i];
t:=i;
end;
end;
end;
writeln(g,max);
write(g,v[t],' ');
for i:=t+1 to n do
if (v[i]>=v[t])and(l[i]=max-1) then begin
write(g,v[i],' '); dec(max);
end;
close(f);close(g);
end.