Pagini recente » Cod sursa (job #334504) | Cod sursa (job #2185278)
#include <bits/stdc++.h>
using namespace std;
ifstream in("cautbin.in");
ofstream out("cautbin.out");
int main(){
int n;
int x;
int i;
int m;
int tip;
vector<int> v;
vector<int>::iterator low,upp;
in>>n;
for( i=0;i< n ; i++){
in>>x;
v.push_back(x);
}
sort(v.begin(),v.end());
in>>m;
for(int i=0;i< m;i++)
{
in>>tip>>x;
switch(tip){
case 0:upp=upper_bound(v.begin(),v.end(),x);
if(v[upp-v.begin()-1]==x)
out<<upp-v.begin()<<'\n';
else
out<<-1<<'\n';
break;
case 1:upp=upper_bound(v.begin(),v.end(),x);
out<<upp-v.begin()<<'\n';
break;
case 2:low=lower_bound(v.begin(),v.end(),x);
out<<low-v.begin()+1 <<'\n';
break;
}
}
}