Pagini recente » Cod sursa (job #761488) | Cod sursa (job #2323876) | Cod sursa (job #1894128) | Cod sursa (job #377419) | Cod sursa (job #754879)
Cod sursa(job #754879)
#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;
if(*p==x)
printf ("%d",p-v+1);
else
printf ("%d",p-v);
break;
case 2:
p=lower_bound (v,v+n,x);
printf ("%d",p-v+1);
}
puts ("");
}
return 0;
}