Pagini recente » Cod sursa (job #1625556) | Cod sursa (job #2093080) | Cod sursa (job #3151726) | Cod sursa (job #2155999) | Cod sursa (job #754880)
Cod sursa(job #754880)
#include<cstdio>
#include<algorithm>
using namespace std;
int v[100005];
int main()
{
freopen ("cautbin.in","r",stdin);
freopen ("cautbin.out","w",stdout);
int n,m;
scanf ("%d",&n);
for(int i=0;i<n;i++)
scanf ("%d",v+i);
scanf ("%d",&m);
while(m--){
int op,x;
scanf ("%d%d",&op,&x);
int *p;
switch(op){
case 0:
p=upper_bound (v,v+n,x)-1;
if(*p==x)
printf ("%d",p-v+1);
else
printf ("-1");
break;
case 1:
p=upper_bound (v,v+n,x)-1;
printf ("%d",p-v+1);
break;
case 2:
p=lower_bound (v,v+n,x);
printf ("%d",p-v+1);
}
puts ("");
}
return 0;
}