Pagini recente » Cod sursa (job #1269387) | Cod sursa (job #697428) | Rating Anul asta in play-out (fc_oni_cu_50_pct) | Cod sursa (job #1212984) | Cod sursa (job #632057)
Cod sursa(job #632057)
Program subsir;
var fi,fo:text;
a,l:array[0..100001] of longint;
i,j,max,poz,n:longint;
begin
assign(fi,'scmax.in'); reset(fi); readln(fi,n);
assign(fo,'scmax.out'); rewrite(fo);
for i:=1 to n do begin read(fi,a[i]); l[i]:=0; end;
l[n]:=1;
max:=0;
for i:=n-1 downto 1 do begin
max:=0;
for j:=i+1 to n do
if (a[i]<a[j]) and (max<l[j]) then max:=l[j];
l[i]:=max+1;
end;
for i:=1 to n do if l[i]>max then begin max:=l[i]; poz:=i; end;
writeln(fo,max) ;
write(fo,a[poz],' '); i:=poz;
while i<=n do begin
for j:=i+1 to n do if (l[j]=max-1) and (a[i]<a[j]) then begin
write(fo,a[j],' ');
max:=max-1;
end ;
poz:=i;
i:=i+1;
end;
close(fo); close(fi);
end.