Pagini recente » Cod sursa (job #446354) | Cod sursa (job #1473677) | Cod sursa (job #912189) | Cod sursa (job #2497808) | Cod sursa (job #1728737)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
int N,M,i,mid,dr,st,m,x,y;
int v[100010];
int main(){
fin>>N;
for(i=1;i<=N;i++)
fin>>v[i];
sort(v+1,v+N+1);
fin>>M;
for(m=1;m<=M;m++){
fin>>x>>y;
if(x==0){
st=1;
dr=N;
while(st<=dr){
mid=st+(dr-st)/2;
if(y>=v[mid])
st=mid+1;
else
dr=mid-1;
}
if(v[st-1]==y)
fout<<st-1<<"\n";
else
fout<<-1<<"\n";
}
if(x==1){
st=1;
dr=N;
while(st<=dr){
mid=st+(dr-st)/2;
if(v[mid]<=y)
st=mid+1;
else
dr=mid-1;
}
fout<<dr<<"\n";
}
if(x==2){
st=1;
dr=N;
while(st<=dr){
mid=st+(dr-st)/2;
if(v[mid]>=y)
dr=mid-1;
else
st=mid+1;
}
fout<<dr+1<<"\n";
}
}
return 0;
}