fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4.  
  5.  
  6. main(){
  7. int n , m; cin >> n ;
  8. int arr[n] ;
  9. for (int i =0 ; i < n ; i++)cin >> arr[i] ;
  10. sort (arr, arr+n) ;
  11. cin >> m ;
  12. while (m--){
  13. int l , r ; cin >> l >> r ;
  14.  
  15. int left =-1 , right = n ;
  16.  
  17. while (left + 1 < right)
  18. {
  19. int mid = (left + right ) /2 ;
  20.  
  21. if (arr[mid] >= l ) right = mid ;
  22. else left = mid ;
  23.  
  24. }
  25.  
  26.  
  27. int st = right ;
  28.  
  29. left =0 , right = n ;
  30.  
  31. while (left + 1 < right)
  32. {
  33. int mid = (left + right ) /2 ;
  34.  
  35. if (arr[mid] <= r ) left = mid ;
  36. else right = mid ;
  37.  
  38. }
  39.  
  40. if (l<0 && r < 0 ) cout << left - st ;
  41. else
  42. cout << left - st +1 ;
  43. if (m) cout << " ";
  44. }
  45. //
  46. // 5
  47. //10 1 10 3 4
  48. //4
  49. //1 10
  50. //2 9
  51. //3 4
  52. //2 2
  53.  
  54. cout << endl;
  55. return 0 ;
  56. }
  57.  
Success #stdin #stdout 0.01s 5356KB
stdin
2 
1 2
1
-1 -3 
stdout
0