Pagini recente » Cod sursa (job #541322) | Cod sursa (job #2771903) | Monitorul de evaluare | Cod sursa (job #179523) | Cod sursa (job #1222410)
#include <fstream>
#include <algorithm>
#define N 100010
using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
int n,m,i,x[N],cod,val,*lb,*ub;
int main()
{
fin>>n;
for(i=1;i<=n;i++)
fin>>x[i];
fin>>m;
for(;m;m--)
{
fin>>cod>>val;
lb=lower_bound(x+1,x+n+1,val);
ub=upper_bound(x+1,x+n+1,val);
if(cod==0)
{
if(ub==lb)
fout<<"-1\n";
else
fout<<(int)(ub-x)-1<<'\n';
}
else
if(cod==1)
fout<<(int)(ub-x)-1<<'\n';
else
fout<<(int)(lb-x)<<'\n';
}
return 0;
}