Pagini recente » Cod sursa (job #629279) | Cod sursa (job #470402) | Cod sursa (job #470404) | Profil oso.andinooo | Cod sursa (job #629278)
Cod sursa(job #629278)
#include <algorithm>
#include <cstdio>
#include <iostream>
using namespace std;
int N, M;
int x[100001];
int main() {
freopen("cautbin.in", "r", stdin);
freopen("cautbin.out", "w", stdout);
cin >> N;
for (int i = 0; i < N; ++i)
cin >> x[i];
cin >> M;
for (int i = 0; i < M; ++i) {
int op, elem, *p;
cin >> op >> elem;
if (op == 0) {
p = upper_bound(x, x + N, elem);
if (p == x || *(p - 1) != elem)
cout << "-1\n";
else
cout << (p - x) << "\n";
} else if (op == 1) {
p = upper_bound(x, x + N, elem);
cout << (p - x) << "\n";
} else {
p = lower_bound(x, x + N, elem);
cout << (p - x + 1) << "\n";
}
}
return 0;
}