Pagini recente » Cod sursa (job #2060396) | Cod sursa (job #1280066) | Cod sursa (job #1427894) | Cod sursa (job #1026053) | Cod sursa (job #1698818)
#include<fstream>
#include<algorithm>
#include<vector>
using namespace std;
ifstream in("cautbin.in");
ofstream out("cautbin.out");
int N, Q, v[100010];
int main()
{
in >> N;
for (int i = 1;i <= N;++i)
in >> v[i];
in >> Q;
for (int i = 1;i <= Q;++i)
{
int o, x;
in >> o >> x;
if (o == 0)
{
int p = upper_bound(v + 1, v + N + 1, x) - v;
if (p != N + 1 && p - 1 != 0 && v[p - 1] == x)
out << p - 1 << '\n';
else
out << "-1\n";
}
else if (o == 1)
out<<lower_bound(v + 1, v + N + 1, x+1) - v - 1<<'\n';
else
out<<upper_bound(v + 1, v + N + 1, x-1) - v<<'\n';
}
return 0;
}