Pagini recente » Cod sursa (job #2431807) | Cod sursa (job #94565) | Cod sursa (job #2769778) | Cod sursa (job #464035) | Cod sursa (job #501729)
Cod sursa(job #501729)
#include <stdio.h>
#include <algorithm>
using namespace std;
#define nmax 100005
int v[nmax];
int main ()
{
int tcount, t, x, y, k, n, i;
freopen("cautbin.in","r",stdin);
freopen("cautbin.out","w",stdout);
scanf("%d ", &n);
for (i = 1; i <= n; ++i) scanf("%d ", &v[i]);
scanf("%d ", &t);
for (tcount = 1; tcount <= t; ++tcount)
{
scanf("%d %d ", &k, &x);
if ( !k )
{
y = upper_bound(v + 1, v + n + 1, x) - v - 1;
if (y>=1 && y<=n && v[y] == x)
printf("%d\n",y);
else
printf("-1\n");
}
if (k == 1)
{
y = lower_bound(v + 1, v + n + 1, x + 1) - v - 1; printf("%d\n", y);
}
if (k == 2)
{
y = upper_bound(v + 1, v + n + 1, x - 1) - v; printf("%d\n", y);
}
}
return 0;
}