Pagini recente » Cod sursa (job #289197) | Cod sursa (job #1206030) | Cod sursa (job #816247) | Cod sursa (job #2059286) | Cod sursa (job #2786541)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("cautbin.in");
ofstream fout ("cautbin.out");
int v[100005];
int n, tip, x;
int p, st, dr;
int main (){
fin>>n;
for(int i=1; i<=n; i++)
fin>>v[i];
int query; fin>>query;
while(query--){
fin>>tip>>x;
if(tip == 0 || tip == 1){
st=0, dr=(1 << 17);
while(dr){
if((st|dr) <= n)
if(v[(st|dr)] <= x)
st |= dr;
dr >>= 1;
}
if(tip == 0){
if(v[st] == x)
fout<<st<<"\n";
else
fout<<"-1\n";
}else
fout<<st<<"\n";
}else{
st=0, dr=(1<<17);
while(dr){
if((st|dr) <= n)
if(v[(st|dr)] < x)
st |= dr;
dr >>= 1;
}
fout<<st+1<<"\n";
}
}
return 0;
}