Pagini recente » Cod sursa (job #2785712) | Cod sursa (job #1318480) | Cod sursa (job #235014) | Cod sursa (job #512801) | Cod sursa (job #1862083)
#include <bits/stdc++.h>
using namespace std;
int v[100105];
int main()
{
freopen("cautbin.in", "r", stdin);
freopen("cautbin.out", "w", stdout);
int n;
scanf("%d", &n);
for(int i = 1; i <= n; ++i)
scanf("%d", &v[i]);
int m;
scanf("%d", &m);
for(int i = 1; i <= m; ++i){
int a, b;
scanf("%d%d", &a, & b);
if(a == 0){
int x = upper_bound(v + 1, v + n + 1, b) - v - 1;
if(x <= n && x >= 1 && v[x] == b)
printf("%d\n", x);
else
printf("-1\n");
}
else if(a == 1){
int x = lower_bound(v + 1, v + n + 1, b + 1) - v - 1;
printf("%d\n", x);
}
else if(a == 2){
int x = upper_bound(v + 1, v + n + 1, b - 1) - v;
printf("%d\n", x);
}
}
return 0;
}