Pagini recente » Cod sursa (job #3125855) | Cod sursa (job #1577082) | Cod sursa (job #172011) | Cod sursa (job #2455528) | Cod sursa (job #408148)
Cod sursa(job #408148)
#include<stdio.h>
#include<vector>
#include <algorithm>
using namespace std;
int n;
int v[100100];
void cit();
void go();
int main() {
freopen("cautbin.in", "r", stdin);
freopen("cautbin.out", "w", stdout);
cit();
go();
return 0;
}
void cit() {
scanf("%d",&n);
for(int i=1; i<=n;i++) {
scanf("%d", &v[i]);
}
}
void go() {
int m,i;
sort(v+1,v+n+1);
scanf("%d",&m);
for(i=1; i<=m;i++) {
int x,y;
scanf("%d%d",&y,&x);
if(y==0) {
int r=upper_bound(v + 1, v + n + 1, x) - v -1;
if(r>=1 && r<=n && v[r]==x)
printf("%d\n",r);
else
printf("-1");
}
if(y==1) {
int r=lower_bound(v+1,v+n+1,x+1)-v-1;
printf("%d\n",r);
}
if(y==2) {
int r=upper_bound(v+1,v+n+1,x-1)-v;
printf("%d\n",r);
}
}
}