Pagini recente » Cod sursa (job #745530) | Cod sursa (job #1061321) | Cod sursa (job #962153) | Cod sursa (job #910666) | Cod sursa (job #2587214)
#include <bits/stdc++.h>
using namespace std;
int main () {
ifstream fin ("cautbin.in");
ofstream fout ("cautbin.out");
vector <int> v;
int n, x;
fin >> n;
for (; n; n--) {
fin >> x;
v.push_back(x);
}
int m, key;
fin >> m;
for (; m; m--) {
fin >> key >> x;
switch (key) {
case 0: {
auto it=upper_bound(v.begin(), v.end(), x);
if (it!=v.end())
fout << it-v.begin() << '\n';
else
fout << -1 << '\n';
}
break;
case 1: {
auto it=lower_bound(v.begin(), v.end(), x+1);
if (it!=v.end())
fout << it-v.begin() << '\n';
else
fout << -1 << '\n';
}
break;
default: {
auto it=upper_bound(v.begin(), v.end(), x-1);
if (it!=v.end())
fout << it-v.begin()+1 << '\n';
else
fout << -1 << '\n';
}
break;
}
}
return 0;
}