Pagini recente » Cod sursa (job #1275188) | Cod sursa (job #2728144) | Cod sursa (job #2848279) | Cod sursa (job #2042087) | Cod sursa (job #2302972)
#include <bits/stdc++.h>
using namespace std;
int n, m, x, y, ans, a[100005];
int main()
{
freopen("cautbin.in", "r", stdin);
freopen("cautbin.out", "w", stdout);
scanf("%d", &n);
for(int i=1; i<=n; i++)
scanf("%d", &a[i]);
scanf("%d", &m);
while(m--)
{
scanf("%d%d", &x, &y);
switch(x)
{
case 0:
ans=upper_bound(a+1, a+n+1, y)-a-1;
if(a[ans]==y)
printf("%d\n", ans);
else
printf("-1\n");
break;
case 1:
ans=lower_bound(a+1, a+n+1, y+1)-a-1;
printf("%d\n", ans);
break;
case 2:
ans=upper_bound(a+1, a+n+1, y-1)-a;
printf("%d\n", ans);
break;
}
}
return 0;
}