Pagini recente » Cod sursa (job #246867) | Istoria paginii runda/sim_oji_10 | Cod sursa (job #962919) | Cod sursa (job #1480857) | Cod sursa (job #864945)
Cod sursa(job #864945)
#include <cstdio>
#include <algorithm>
#define NMAX 100005
using namespace std;
int N,M,X,v[NMAX],op,poz;
void Read()
{
freopen("cautbin.in","r",stdin);
scanf("%d",&N);
for(int i=1;i<=N;i++)
scanf("%d",&v[i]);
scanf("%d",&M);
}
int main()
{
Read();
freopen("cautbin.out","w",stdout);
while(M--)
{
scanf("%d%d",&op,&X);
if(op==0)
{
poz=upper_bound(v+1,v+N+1,X)-v-1;
if(poz<=N && poz>=1 && v[poz] == x)
printf("%d\n",poz);
else
printf("-1");
}
else
if(op==1)
{
poz=lower_bound(v+1,v+N+1,X+1)-v-1;
printf("%d\n",poz);
}
else
{
poz=upper_bound(v+1,v+N+1,X-1)-v;
printf("%d\n",poz);
}
}
return 0;
}