Pagini recente » Cod sursa (job #1539181) | Istoria paginii utilizator/consti.001 | Cod sursa (job #1182046) | Profil airineiv | Cod sursa (job #844879)
Cod sursa(job #844879)
program subsir_crescator_maxim;
var f1,f2:text;
n,lmax,i,pmax:longint;
a,l,min,d,p:array [0..100000] of longint;
procedure scrie(x:longint);
begin
if x<>0 then
begin
scrie(d[x]);
write(f2,a[x],' ');
end;
end;
begin
assign(f1,'scmax.in');
reset(f1);
assign(f2,'scmax.out');
rewrite(f2);
readln(f1,n);
for i:=1 to n do read(f1,a[i]);
for i:=1 to n do min[i]:=2000000001;
for i:=1 to n do
begin
l[i]:=lmax;
while (min[l[i]]>=a[i]) and (l[i]>0) do dec(l[i]);
d[i]:=p[l[i]];
inc(l[i]);
if l[i]>lmax then begin lmax:=l[i]; pmax:=i; end;
if a[i]<min[l[i]] then begin min[l[i]]:=a[i]; p[l[i]]:=i; end;
end;
writeln(f2,lmax);
scrie(pmax);
close(f1);
close(f2);
end.