Pagini recente » Cod sursa (job #1322758) | Cod sursa (job #603542) | Cod sursa (job #2733742) | Cod sursa (job #654652) | Cod sursa (job #829286)
Cod sursa(job #829286)
#include <algorithm>
#include <fstream>
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
const int N = 100005;
int n, q;
int v[N];
int main() {
f >> n;
for (int i = 1; i <= n; ++i)
f >> v[i];
f >> q;
while (q--) {
int type, x, sol;
f >> type >> x;
if (type == 0) {
sol = upper_bound(v + 1, v + n + 1, x) - v - 1;
if (v[sol] == x && 1 <= sol && sol <= n)
g << sol << '\n';
else
g << "-1\n";
} else if (type == 1) {
sol = lower_bound(v + 1, v + n + 1, x + 1) - v - 1;
g << sol << '\n';
} else if (type == 2) {
sol = upper_bound(v + 1, v + n + 1, x - 1) - v;
g << sol << '\n';
}
}
return 0;
}