Pagini recente » Cod sursa (job #1385243) | Cod sursa (job #1850481) | Cod sursa (job #598809) | Cod sursa (job #2902359) | Cod sursa (job #2692535)
#include <iostream>
#include <algorithm>
#include <fstream>
using namespace std;
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
int v[100001];
int main() {
int n, t, y, m;
fin >> n;
for (int i =1; i <= n; ++i) {
fin >> v[i];
}
sort(v + 1, v + n + 1);
fin >> m;
for (int i = 1; i <= m; ++i) {
fin >> t >> y;
if (t == 0) {
int x = upper_bound(v + 1, v + n + 1, y) - v - 1;
if (x <= n && x >= 1 && v[x] == y) {
fout << x << "\n";
} else {
fout << "-1\n";
}
} else if (t == 1) {
int x = lower_bound(v + 1, v + n + 1, y + 1) - v - 1;
fout << x << "\n";
} else {
int x = upper_bound(v + 1, v + n + 1, y - 1) - v;
fout << x << "\n";
}
}
return 0;
}