Pagini recente » Cod sursa (job #2473518) | Cod sursa (job #738483) | Cod sursa (job #1331732) | Cod sursa (job #523906) | Cod sursa (job #2466620)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
freopen("cautbin.in","r",stdin);
freopen("cautbin.out","w",stdout);
std::vector<int> vec;
int n;
cin>>n;
for(int i=0; i<n; i++)
{
int el;
cin>>el;
vec.push_back(el);
}
int m;
cin>>m;
for(int i=0; i<m; i++)
{
int tip,vals;
cin>>tip;
cin>>vals;
if(tip==2)
{
int pos = (upper_bound(vec.begin(),vec.end(),vals-1)-vec.begin());
cout<<pos+1<<endl;
}
if(tip==1)
{
int pos = (lower_bound(vec.begin(),vec.end(),vals+1)-vec.begin());
cout<<pos<<endl;
}
if(tip==0)
{
int pos = (upper_bound(vec.begin(),vec.end(),vals)-vec.begin());
if(pos==0 && vec[pos]!=vals)
cout<<-1<<endl;
else
cout<<pos<<endl;
}
}
return 0;
}