Pagini recente » Cod sursa (job #457334) | Cod sursa (job #866875) | Cod sursa (job #2047691) | Cod sursa (job #1847555) | Cod sursa (job #1591265)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("cautbin.in");
ofstream out("cautbin.out");
long v[100003];
int main() {
int n,k,t,a;
in >> n;
for(int i = 0; i < n; i++)
in >> v[i];
in >> k;
for(int i = 0; i < k; i++) {
in >> t >> a;
if(t == 0) {
int lw = upper_bound(v, v+n, a) - v - 1;
if((lw < 0 || lw > n) || v[lw] != a) {
out << "-1" << '\n';
} else {
out << lw+1 << '\n';
}
} else if(t == 1) {
int lw = lower_bound(v, v+n, a+1) - v - 1;
out << lw+1 << '\n';
} else {
int lw = upper_bound(v, v+n, a-1) - v;
out << lw+1 << '\n';
}
}
return 0;
}