Pagini recente » Cod sursa (job #2152955) | Cod sursa (job #141099) | Cod sursa (job #1608417) | Cod sursa (job #2226624) | Cod sursa (job #566269)
Cod sursa(job #566269)
#include <algorithm>
using namespace std ;
int v[100001] ;
int main() {
freopen ("cautbin.in","r",stdin) ;
freopen ("cautbin.out","w",stdout) ;
int a , b , n , m ;
scanf ("%d" , &n) ;
for (int i=1 ; i<=n ; ++i) {
scanf ("%d" , &v[i]) ;
}
scanf ("%d" , &m) ;
for (int i=1 ; i<=m;++i) {
scanf ("%d%d" , &a , &b ) ;
if (a==0) {
int x=upper_bound(v+1,v+n+1,b)-v-1;
if (x>=1 && x<=n && v[x]==b) {
printf ("%d\n" , x) ;
}
else printf ("-1\n") ;
}
if (a==1) {
int x=lower_bound(v+1,v+n+1,b+1)-v-1;
printf ("%d\n" , x) ;
}
if (a==2) {
int x=upper_bound(v+1,v+n+1,b-1)-v;
printf ("%d\n" , x) ;
}
}
return 0;
}