Pagini recente » Cod sursa (job #121630) | Cod sursa (job #2952829) | Cod sursa (job #1799756) | Cod sursa (job #403958) | Cod sursa (job #2028945)
# pragma GCC optimize("O3")
# include <bits/stdc++.h>
# define maxn 100005
# define ll long long
# define clock (clock() * 1000.0 / CLOCKS_PER_SEC)
# define rc(s) return cout << s,0
# define _ ios_base::sync_with_stdio(false);cin.tie(0);cerr.tie(0);cout.tie(0);
# define db(x) cerr << #x << " = " << x << '\n'
# define pb push_back
# define mp make_pair
# define sz(x) (int)((x).size())
//# define int ll
using namespace std;
int n,x,op,q;
vector<int>vec;
int32_t main(){_
freopen("cautbin.in","r",stdin);
freopen("cautbin.out","w",stdout);
cin >> n;
for(int i = 1;i <= n;i++)
{
cin >> x;
vec.pb(x);
}
cin >> q;
while(q--)
{
cin >> op >> x;
if(op == 0)
{
auto it = upper_bound(vec.begin(),vec.end(),x);
it--;
if(*it == x) cout << it - vec.begin() + 1 << '\n';
else cout << "-1\n";
}
else if(op == 1)
{
auto it = upper_bound(vec.begin(),vec.end(),x);
it--;
cout << it - vec.begin() + 1 << '\n';
}
else if(op == 2)
{
auto it = lower_bound(vec.begin(),vec.end(),x);
cout << it - vec.begin() + 1 << '\n';
}
}
}