Pagini recente » Cod sursa (job #2733954) | Cod sursa (job #2984451) | Cod sursa (job #1179311) | Cod sursa (job #2386420) | Cod sursa (job #236785)
Cod sursa(job #236785)
var v:array[1..100000] of longint; {00}
n,m,i,k,mij,r,st,dr,x,c:longint;
f,g:text;
begin
assign(f,'cautbin.in');reset(f);
assign(g,'cautbin.out');rewrite(g);
read(f,n);
for i:=1 to n do read(f,v[i]);
read(f,m);
for k:=1 to m do
begin
read(f,c,x);
if c=0 then
begin
st:=1; dr:=n;
repeat
mij:=st+(dr-st) div 2;
if x>v[mij] then st:=mij+1
else dr:=mij-1;
until st>=dr;
if x=v[dr] then writeln(g,dr)
else writeln(g,-1);
end
else if c=1 then
begin
st:=1; dr:=n; r:=0;
repeat
mij:=st+(dr-st) div 2;
if x>=v[mij] then
begin
r:=mij;
st:=mij+1;
end
else dr:=mij-1;
until st>=dr;
writeln(g,r);
end
else
begin
st:=1; dr:=n; r:=0;
repeat
mij:=st+(dr-st) div 2;
if x<=v[mij] then
begin
r:=mij;
dr:=mij-1;
end
else st:=mij+1;
until st>=dr;
writeln(g,r);
end;
end;
close(f);
close(g);
end.