Pagini recente » Cod sursa (job #899044) | Cod sursa (job #1138847) | Cod sursa (job #2968694) | Cod sursa (job #1530630) | Cod sursa (job #700025)
Cod sursa(job #700025)
#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 x,y;
scanf ("%d%d",&x,&y);
int *z;
switch(x){
case 0:
z=upper_bound (v,v+n,y);
z--;
if(*z==y)
printf ("%ld\n",z-v+1);
else
puts ("-1");
break;
case 2:
z=lower_bound (v,v+n,y);
printf ("%ld\n",z-v+1);
break;
case 1:
z=upper_bound (v,v+n,y);
if(*(z-1)==y)
z--;
printf ("%ld\n",z-v+1);
}
}
return 0;
}