Pagini recente » Cod sursa (job #3295847) | Cod sursa (job #173246) | Cod sursa (job #2891668) | Cod sursa (job #117214) | Cod sursa (job #3295846)
#include <vector>
#include <algorithm>
#include <fstream>
using namespace std;
ifstream cin("cautbin.in");
ofstream cout("cautbin.out");
int main() {
int n, m;
cin >> n;
vector<long long> sir(n);
for (int i = 0; i < n; i++) {
cin >> sir[i];
}
cin >> m;
while (m--) {
int tip;
long long nr;
cin >> tip >> nr;
if (tip == 0) {
auto pozitie = upper_bound(sir.begin(), sir.end(), nr);
if (pozitie == sir.begin() || *(pozitie - 1) != nr) {
cout << -1 << '\n';
}
else {
cout << (pozitie - sir.begin()) << '\n';
}
}
else if (tip == 1) {
auto pozitie = upper_bound(sir.begin(), sir.end(), nr);
cout << (pozitie - sir.begin()) << '\n';
}
else if (tip == 2) {
auto pozitie = lower_bound(sir.begin(), sir.end(), nr);
cout << (pozitie - sir.begin()) + 1 << '\n';
}
}
return 0;
}