Pagini recente » Cod sursa (job #242696) | Cod sursa (job #3038029)
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
ifstream in("cautbin.in");
ofstream out("cautbin.out");
in >> n;
vector<int> sir;
for(int i = 0; i < n; ++i) {
int x;
in >> x;
sir.push_back(x);
}
sort(sir.begin(), sir.end());
int m, a, b;
in >> m;
for(int i = 0; i < m; ++i) {
in >> a >> b;
int x;
if(a == 0) {
x = upper_bound(sir.begin(), sir.end(), b) - sir.begin() - 1;
if(x < n && x > 0 && sir[x] == b) cout << x + 1;
else out << -1;
}
else if(a == 1) {
x = lower_bound(sir.begin(), sir.end(), b + 1) - sir.begin();
out << x;
}
else if(a == 2) {
x = upper_bound(sir.begin(), sir.end(), b - 1) - sir.begin() + 1;
out << x;
}
out << "\n";
}
return 0;
}