Pagini recente » Cod sursa (job #3250982) | Cod sursa (job #1758121) | Cod sursa (job #3286121) | Cod sursa (job #2755819) | Cod sursa (job #2925729)
#include <bits/stdc++.h>
using namespace std;
int main()
{
ifstream cin("cautbin.in");
ofstream cout("cautbin.out");
int n,p;
cin>>n;
vector<int>v(n);
for(int i=0;i<n;i++)
{
cin>>v[i];
}
sort(v.begin(),v.end());
cin>>p;
while(p--)
{int l=0,r=n;
int a,b;
cin>>a>>b;
if(a==0)
{
while(l<r-1)
{
int mij=(l+r)/2;
if(v[mij]<=b)
l=mij;
else
r=mij;
}
if(v[l]!=b)
l=-2;
cout<<l+1;
}
if(a==1)
{
while(l<r-1)
{
int mij=(l+r)/2;
if(v[mij]<=b)
l=mij;
else
r=mij;
}
cout<<l+1;
}
if(a==2)
{
while(l<r-1)
{
int mij=(l+r)/2;
if(v[mij]<b)
l=mij;
else
r=mij;
}
cout<<r+1;
}
cout<<'\n';
}
return 0;
}