Pagini recente » Cod sursa (job #1025181) | Cod sursa (job #1804142) | Cod sursa (job #384972) | Cod sursa (job #2035317) | Cod sursa (job #1930657)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("cautbin.in");
ofstream g("cautbin.out");
int n, x,v[100001];
void solve0(){
int index = 0;
int p2 = 1;
while (p2 < n)
p2 <<= 1;
while (p2 > 0) {
if (p2 + index < n && x >= v[index + p2])
index += p2;
p2 >>= 1;
}
g << index << '\n';
}
int main() {
int i;
f >> n;
for (i = 1;i <= n;++i)
f >> v[i];
int nc;
f >> nc;
for (i = 1;i <= nc;++i)
{
int c;
f >> c >> x;
if (c == 0)
solve0();
else if (c == 1) {
x = lower_bound(v + 1, v + n + 1, x + 1) - v - 1;
g << x << '\n';
}
else {
x = upper_bound(v + 1, v + n + 1, x - 1) - v;
g << x;
}
}
return 0;
}