Pagini recente » Cod sursa (job #1111612) | Cod sursa (job #1653182) | Cod sursa (job #596638) | Cod sursa (job #2942450) | Cod sursa (job #1152625)
#include <cstdio>
#include <algorithm>
#define MAX 100100
int v[MAX];
using namespace std;
int main()
{
int poz,i,nr,n,op,x;
freopen("cautbin.in","r",stdin);
freopen("cautbin.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;++i)scanf("%d",v+i);
sort(v+1,v+n+1);
scanf("%d",&nr);
for(i=1;i<=nr;++i)
{
scanf("%d%d",&op,&x);
if(op==0){
poz=upper_bound(v+1,v+n+1,x)-v-1;
if(poz>=1 and poz<=n and v[poz]==x)printf("%d\n",poz);
else printf("-1\n");
}
if(op==1){
poz=lower_bound(v+1,v+n+1,x+1)-v-1;
printf("%d\n",poz);
}
if(op==2){
poz=upper_bound(v+1,v+n+1,x-1)-v;
printf("%d\n",poz);
}
}
return 0;
}