Pagini recente » Cod sursa (job #858981) | Borderou de evaluare (job #2008889) | Cod sursa (job #2860468) | Cod sursa (job #402106) | Cod sursa (job #2019112)
#include <bits/stdc++.h>
using namespace std;
int n, a[100009];
void read()
{
cin >> n;
for(int i=0; i<n; i++)
cin >> a[i];
}
int main()
{
freopen("cautbin.in","r",stdin);
freopen("cautbin.out", "w", stdout);
read();
int m, c, x, k; cin >> m;
while(m--)
{
cin >> c >> x;
if ( !c )
{
k = upper_bound(a,a+n,x)-a;
if( k && a[k-1] == x ) cout << k << '\n'; else cout << -1;
}
if( c==1)
cout << upper_bound(a, a+n,x)-a << '\n';
if( c==2 )
cout << lower_bound(a,a+n,x)-a +1 << '\n';
}
return 0;
}