Pagini recente » Cod sursa (job #1944286) | Cod sursa (job #100512) | Cod sursa (job #957130) | Cod sursa (job #1004501) | Cod sursa (job #1606326)
#include <iostream>
#include <cstdio>
#include <vector>
using namespace std;
vector<int>a;
int step,st;
int n,m,x,i,y;
int cau()
{
for(i=0,st=step; st; st>>=1)
if(i+st<n && a[i+st]<=y)
i+=st;
if(a[i]==y || x!=0)
return i+1+x/2;
else return -1;
}
int main()
{
freopen("cautbin.in","r",stdin);
freopen("cautbin.out","w",stdout);
scanf("%d",&n);
for(step=1; step<n; step<<=1);
for(i=0; i<n; i++)
{
scanf("%d",&m);
a.push_back(m);
}
scanf("%d",&m);
for(int opr=0; opr<m; opr++)
{
scanf("%d",&x);
scanf("%d",&y);
printf("%d\n",cau());
}
return 0;
}