Pagini recente » Cod sursa (job #1635913) | Cod sursa (job #1508570) | Cod sursa (job #567769) | Cod sursa (job #2163436) | Cod sursa (job #444257)
Cod sursa(job #444257)
#include<cstdio>
#include<algorithm>
using namespace std;
int main()
{long V[100002],i,N,M,t,x,y;
freopen("cautbin.in","r",stdin);
freopen("cautbin.out","w",stdout);
scanf("%ld",&N);
for(i=1;i<=N;i++)
scanf("%ld",&V[i]);
scanf("%ld",&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;}