Pagini recente » Cod sursa (job #136050) | Cod sursa (job #785476) | Cod sursa (job #1309460) | Cod sursa (job #643794) | Cod sursa (job #2030521)
#include <cstdio>
#include <algorithm>
#define NMax 100001
using namespace std;
int main()
{
freopen("cautbin.in", "r", stdin);
freopen("cautbin.out", "w", stdout);
int m, n, v[NMax];
scanf("%d", &n); for(int i=1; i<=n; i++) scanf("%d", &v[i]); scanf("%d", &m);
//sort(v+1, v+n+1);
for(int i=1; i<=m; i++) {
int tip, val;
scanf("%d%d", &tip, &val);
if(tip == 0) {
int pos = upper_bound(v+1, v+n+1, val) - v - 1;
if(pos >= 1 && pos <= n && v[pos] == val) {
printf("%d\n", pos);
} else {
printf("-1\n");
}
} else if(tip == 1) {
int pos = lower_bound(v+1, v+n+1, val+1) - v - 1;
printf("%d\n", pos);
} else if(tip == 2) {
int pos = upper_bound(v+1, v+n+1, val-1) - v;
printf("%d\n", pos);
}
}
}