Pagini recente » Cod sursa (job #890642) | Cod sursa (job #448207) | Cod sursa (job #1780524) | Cod sursa (job #2238108) | Cod sursa (job #1159356)
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int n, m;
int v[100005];
void citire()
{
scanf("%d",&n);
for (int i=1; i<=n; i++)
scanf("%d",&v[i]);
scanf("%d",&m);
}
int main()
{
freopen("cautbin.in","r",stdin);
freopen("cautbin.out","w",stdout);
int x;
citire();
for (int i=1; i<=m; i++)
{
int op, nr;
scanf("%d %d",&op, &nr);
if (op == 0)
{
x = upper_bound(v+1, v+n+1, nr) - v - 1;
if (x <= n && x >= 1 && v[x] == nr)
printf("%d\n", x);
else
printf("-1\n");
}
else
if (op == 1)
{
x = lower_bound(v+1, v+n+1, nr+1) - v - 1;
printf("%d\n", x);
}
else
{
x = upper_bound(v+1, v+n+1, nr-1) - v;
printf("%d\n", x);
}
}
return 0;
}