Pagini recente » Rating Klein Andrei (Archangel) | Cod sursa (job #1484891) | Istoria paginii runda/iiot4 | Cod sursa (job #199536) | Cod sursa (job #2863571)
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
#define ll long long
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
ll n, m;
vector <ll> x;
int main(){
fin >> n;
x.resize(n + 1);
for(ll i = 1; i <= n; ++i)
fin >> x[i];
fin >> m;
for(ll i = 1, query, num; i <= m; ++i){
fin >> query >> num;
if(query == 0){
ll upper = upper_bound(x.begin(), x.end(), num) - x.begin();
if(x[upper - 1] == num)
fout << upper - 1;
else
fout << -1;
}
else if(query == 1) {
fout << lower_bound(x.begin(), x.end(), num + 1) - x.begin() - 1;
}
else if(query == 2) {
fout << upper_bound(x.begin(), x.end(), num - 1) - x.begin();
}
fout << "\n";
}
return 0;
}