Pagini recente » Cod sursa (job #2709718) | Cod sursa (job #3127750) | Cod sursa (job #1301103) | Cod sursa (job #1029316) | Cod sursa (job #409486)
Cod sursa(job #409486)
#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 t,y,x;
scanf("%d%d",&t,&y);
if(t==0) {
int x=upper_bound(v + 1, v + n + 1, y) - v -1;
if(x>=1 && x<=n && v[x]==y)
printf("%d\n",x);
else
printf("-1");
}
if(t==1) {
int r=lower_bound(v+1,v+n+1,y+1)-v-1;
printf("%d\n",r);
}
if(t==2) {
int r=upper_bound(v+1,v+n+1,y-1)-v;
printf("%d\n",r);
}
}
}