Pagini recente » Cod sursa (job #104547) | Cod sursa (job #1435504) | Cod sursa (job #961609) | Cod sursa (job #1188876) | Cod sursa (job #2371837)
#include <bits/stdc++.h>
using namespace std;
#define LMAX 100005
int v[LMAX];
int main(){
freopen("cautbin.in ","r",stdin);
freopen("cautbin.out","w",stdout);
int n;
scanf("%d",&n);
for(int i=1;i<=n;++i)
scanf("%d",&v[i]);
int q;
scanf("%d",&q);
while(q--){
int tip,val;
scanf("%d %d",&tip,&val);
if(tip==0){
int poz=upper_bound(v+1,v+n+1,val)-v-1;
if(poz!=0&&v[poz]==val)
printf("%d\n",poz);
else printf("-1\n");
}
else if(tip==1){
int poz=upper_bound(v+1,v+n+1,val)-v-1;
printf("%d\n",poz);
}
else{
int poz=lower_bound(v+1,v+n+1,val)-v;
printf("%d\n",poz);
}
}
return 0;
}