Pagini recente » Cod sursa (job #922285) | Cod sursa (job #2901883) | Cod sursa (job #328680) | Cod sursa (job #1104057) | Cod sursa (job #944554)
Cod sursa(job #944554)
#include <algorithm>
#include <fstream>
#include <iostream>
#include <vector>
using namespace std;
int main()
{
ifstream fin("cautbin.in");
ofstream fout("cautbin.out");
int N;
fin >> N;
vector<int> v(N);
for (int i = 0; i < N; ++i)
fin >> v[i];
int M;
fin >> M;
for (int i = 0; i < M; ++i) {
int op, x;
fin >> op >> x;
if (op == 0) {
auto it = lower_bound(begin(v), end(v), x + 1);
if (it == begin(v) || *(it - 1) != x)
fout << -1 << "\n";
else
fout << it - begin(v) << "\n";
} else if (op == 1) {
auto it = lower_bound(begin(v), end(v), x + 1);
fout << it - begin(v) << "\n";
} else {
auto it = upper_bound(begin(v), end(v), x - 1);
fout << it - begin(v) + 1 << "\n";
}
}
return 0;
}