Pagini recente » Cod sursa (job #470400) | Cod sursa (job #629282)
Cod sursa(job #629282)
#include <algorithm>
#include <fstream>
using namespace std;
int N, M;
int x[100001];
int main() {
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
fin >> N;
for (int i = 0; i < N; ++i)
fin >> x[i];
fin >> M;
for (int i = 0; i < M; ++i) {
int op, elem, *p;
fin >> op >> elem;
if (op == 0) {
p = upper_bound(x, x + N, elem);
if (p == x || *(p - 1) != elem)
fout << "-1\n";
else
fout << (p - x) << "\n";
} else if (op == 1) {
p = upper_bound(x, x + N, elem);
fout << (p - x) << "\n";
} else {
p = lower_bound(x, x + N, elem);
fout << (p - x + 1) << "\n";
}
}
return 0;
}