Pagini recente » Cod sursa (job #2015855) | Cod sursa (job #1766898) | Profil Cristin3l | Cod sursa (job #1696498) | Cod sursa (job #2796746)
#include <fstream>
#include <cstring>
#include <vector>
#include <algorithm>
using namespace std;
ifstream cin("cautbin.in");
ofstream cout("cautbin.out");
vector<int> v ;
int main()
{
int n ;
cin >> n ;
for(int f = 1, a ; f <= n ; f ++)
cin >> a, v.push_back(a) ;
int q ;
cin >> q ;
while(q --)
{
int cerinta, x ;
cin >> cerinta >> x ;
if(cerinta == 0)
{
int poz = (int)(upper_bound(v.begin(), v.end(), x) - v.begin()) ;
poz -- ;
if(v[poz] == x)cout << poz + 1 << '\n' ;
else cout << -1 << "\n" ;
}
else if(cerinta == 1)
{
int poz = (int)(upper_bound(v.begin(), v.end(), x) - v.begin()) ;
cout << poz << "\n" ;
}
else
{
int poz = (int)(lower_bound(v.begin(), v.end(), x) - v.begin()) ;
cout << poz + 1 << "\n" ;
}
}
return 0;
}