Pagini recente » Cod sursa (job #2327754) | Istoria paginii runda/sg435346t | Cod sursa (job #539392) | Istoria paginii runda/24_februarie_simulare_oji_2024_clasa_9/clasament | Cod sursa (job #2372120)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int main()
{
vector <int> v;
int n, c, a, x, p;
f >> n;
for (int i = 1; i <= n; i++) {
f >> a;
v.push_back(a);
}
f >> c;
for (int i = 1; i <= c; i++) {
f >> a >> x;
if (a == 0) {
p = upper_bound(v.begin(), v.end(), x) - v.begin();
if (p < v.size()) g << p << endl;
else g << -1;
}
else if (a == 1) {
p = lower_bound(v.begin(), v.end(), x + 1) - v.begin();
g << p << endl;
}
else {
p = upper_bound(v.begin(), v.end(), x - 1) - v.begin() + 1;
g << p << endl;
}
}
f.close();
g.close();
}