Pagini recente » Cod sursa (job #2567893) | Cod sursa (job #2462925) | Cod sursa (job #377156) | Cod sursa (job #856140) | Cod sursa (job #1698820)
#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 - 1;
if (p<=N && p>= 1 && v[p] == x)
out << p << '\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;
}