Pagini recente » Cod sursa (job #1714802) | Cod sursa (job #1474939) | Rating Gabriel Mocioaca (gabriel-mocioaca) | Cod sursa (job #2033633) | Cod sursa (job #2863566)
#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;
ll upper = upper_bound(x.begin(), x.end(), num) - x.begin();
ll lower = lower_bound(x.begin(), x.end(), num) - x.begin();
if(query == 0){
fout << upper - 1;
}
else if(query == 1) {
if(x[upper - 1] == num)
fout << upper - 1;
else
fout << lower;
}
else if(query == 2) {
fout << lower;
}
fout << "\n";
}
return 0;
}