Pagini recente » Istoria paginii utilizator/markusibd | Cod sursa (job #536431) | Cod sursa (job #137424) | Cod sursa (job #311314) | Cod sursa (job #1801464)
#include <bits/stdc++.h>
using namespace std;
FILE *f,*g;
int a[100001],n,t,test,x;
int main()
{
freopen("cautbin.in","r",stdin);
freopen("cautbin.out","w",stdout);
scanf("%d",&n);
for(int i=1;i<=n;i++)
scanf("%d",&a[i]);
scanf("%d",&t);
for(int i=1;i<=t;i++)
{
scanf("%d%d",&test,&x);
if(test==0)
{
int s=upper_bound(a+1,a+n+1,x)-a-1;
if(a[s]!=x)printf("-1\n");
else printf("%d\n",s);
}
else if(test==1) printf("%d\n",upper_bound(a+1,a+n+1,x)-a-1);
else printf("%d\n",lower_bound(a+1,a+n+1,x)-a);
}
return 0;
}