Pagini recente » Cod sursa (job #475191) | Cod sursa (job #1481452) | Cod sursa (job #1916654) | Cod sursa (job #1044571) | Cod sursa (job #2710470)
#include <stdio.h>
#include <algorithm>
using namespace std;
int V[100100];
int main() {
int N, M, x, y, i, t;
freopen("cautbin.in", "r", stdin);
freopen("cautbin.out", "w", stdout);
scanf("%d", &N);
for (i = 1; i <= N; ++i)
scanf("%d", &V[i]);
sort(V + 1, V + N + 1);
scanf("%d", &M);
for (i = 1; i <= M; ++i) {
scanf("%d%d", &t, &y);
if (t == 0) {
x = upper_bound(V + 1, V + N + 1, y) - V - 1;
if (x <= N && x >= 1 && V[x] == y)
printf("%d\n", x);
else
printf("-1\n");
}
else if (t == 1) {
x = lower_bound(V + 1, V + N + 1, y + 1) - V - 1;
printf("%d\n", x);
}
else {
x = upper_bound(V + 1, V + N + 1, y - 1) - V;
printf("%d\n", x);
}
}
}