Pagini recente » Cod sursa (job #1886314) | Cod sursa (job #1340851) | Cod sursa (job #686272) | Cod sursa (job #2561426) | Cod sursa (job #2757128)
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
freopen("cautbin.in", "r", stdin);
freopen("cautbin.out", "w", stdout);
int N;
scanf("%d", &N);
vector<int> v(N);
for (int i = 0; i < N; ++i)
scanf("%d", &v[i]);
int M;
scanf("%d", &M);
for (int t = 0; t < M; ++t) {
int op, val;
scanf("%d%d", &op, &val);
if (op == 0) {
int pz = upper_bound(v.begin(), v.end(), val) - v.begin();
if (pz > 0 && v[pz - 1] == val)
printf("%d\n", pz);
else
printf("-1\n");
continue;
}
if (op == 1) {
int pz = lower_bound(v.begin(), v.end(), val + 1) - v.begin();
printf("%d\n", pz);
continue;
}
int pz = upper_bound(v.begin(), v.end(), val - 1) - v.begin();
printf("%d\n", pz + 1);
}
return 0;
}