Pagini recente » Cod sursa (job #1484915) | Cod sursa (job #2051632) | Cod sursa (job #3211998) | Cod sursa (job #3138618) | Cod sursa (job #3277952)
#include <bits/stdc++.h>
using namespace std;
int main()
{
freopen("cautbin.in", "r", stdin);
freopen("cautbin.out", "w", stdout);
int n;
cin >> n;
vector<int> v(n);
for(int i = 0; i < n; i++)
{
cin >> v[i];
}
int q;
cin >> q;
for(int i = 0; i < q; i++)
{
int op, x;
cin >> op >> x;
int ub = upper_bound(v.begin(), v.end(), x) - v.begin();
int lb = lower_bound(v.begin(), v.end(), x) - v.begin();
if(op == 0)
{
if(v[ub - 1] != x)
{
cout << -1;
}
else
{
cout << ub;
}
}
else if(op == 1)
{
cout << ub;
}
else
{
if(v[lb] == x)
{
cout << lb + 1;
}
else
{
cout << ub + 1;
}
}
cout << "\n";
}
}