Pagini recente » Cod sursa (job #2549433) | Cod sursa (job #1654130) | Cod sursa (job #1002862) | Cod sursa (job #1712002) | Cod sursa (job #1397907)
#include <cstdio>
#include <algorithm>
#define MAXN 100010
using namespace std;
int main() {
freopen("cautbin.in", "r", stdin);
freopen("cautbin.out", "w", stdout);
int N, M, t, x, V[MAXN], y;
scanf("%d", &N);
for (int i = 1; i <= N; ++i) {
scanf("%d", &V[i]);
}
scanf("%d", &M);
while (M--) {
scanf("%d %d", &t, &x);
if (t == 0) {
y = upper_bound(V + 1, V + N + 1, x) - (V + 1);
if (y >= 1 && y <= N && V[y] == x)
printf("%d\n", y);
else
printf("-1\n");
} else if (t == 1) {
y = upper_bound(V + 1, V + N + 1, x) - (V + 1);
printf("%d\n", y);
} else if (t == 2) {
y = lower_bound(V + 1, V + N + 1, x) - V;
printf("%d\n", y);
}
}
return 0;
}