Pagini recente » Cod sursa (job #2844097) | Cod sursa (job #1275702) | Cod sursa (job #2974984) | Cod sursa (job #1891185) | Cod sursa (job #929130)
Cod sursa(job #929130)
program subsir_crescator_maxim;
var f,g:text;
n,lmax,i,pmax:longint;
a,l,min,d,p:array [0..100000] of longint;
intrare,iesire:array [1..100000] of char;//byte;
procedure scrie(x:longint);
begin
if x<>0 then
begin
scrie(d[x]);
write(g,a[x],' ');
end;
end;
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,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(g,lmax);
scrie(pmax);
close(f);close(g);
end.