Pagini recente » Cod sursa (job #2549663) | Cod sursa (job #1733256) | Cod sursa (job #1239817) | Cod sursa (job #710039) | Cod sursa (job #665176)
Cod sursa(job #665176)
#include <cstdio>
#include <algorithm>
using namespace std;
int V[100100];
int main ()
{
int N, M, x, y, i, t;
freopen("cautbin.in", "rt", stdin);
freopen("cautbin.out", "wt", stdout);
scanf("%d", &N);
for (i=1;i<=N;++i) scanf("%d", &V[i]);
sort(V + 1, V + N + 1);
scanf("%d", &M);
for (i = 1; i <= M; ++ i) {
scanf("%d%d", &t, &y);
if (t == 0)
{
x = upper_bound(V+1,V+N+1,y)-V-1;
if (x <= N && x >= 1 && V[x] == y) printf("%d\n", x);
else printf("-1\n");
}
else if (t == 1)
{
x = lower_bound(V+1,V+N+1,y+1)-V-1;
printf("%d\n", x);
}
else
{
x = upper_bound(V+1,V+N+1,y-1)-V;
printf("%d\n", x);
}
}
return 0;
}