Pagini recente » Cod sursa (job #280970) | Cod sursa (job #1249854) | Cod sursa (job #2631225) | Cod sursa (job #339867) | Cod sursa (job #1164352)
#include <cstdio>
#include <algorithm>
using namespace std;
#define FILEIN "cautbin.in"
#define FILEOUT "cautbin.out"
#define NMAX 100005
int V[NMAX+1];
int N, M;
int main() {
freopen(FILEIN, "r", stdin);
freopen(FILEOUT, "w", stdout);
scanf("%d", &N);
for ( int i = 1; i <= N; i++ ) {
scanf("%d", &V[i]);
}
for (scanf("%d", &M); M; M-- ) {
int T, x;
scanf("%d", &T);
scanf("%d", &x);
if (T == 0 || T == 1) {
int rez = upper_bound(V+1, V+N+1, x) - V;
if (T == 0) {
if (V[rez - 1] != x) {
printf("-1\n");
} else {
printf("%d\n", rez - 1);
}
} else {
if (V[rez] <= x && rez <= N) {
printf("%d\n", rez);
} else {
printf("%d\n", rez - 1);
}
}
}
if (T == 2) {
int rez = lower_bound(V+1, V+N+1, x) - V;
printf("%d\n", rez );
}
}
return 0;
}