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. if (right == n )
  26. {
  27. cout << 0 << ' ' ;
  28. continue ;
  29. }
  30.  
  31. int st = right ;
  32.  
  33. left =0 , right = n ;
  34.  
  35. while (left + 1 < right)
  36. {
  37. int mid = (left + right ) /2 ;
  38.  
  39. if (arr[mid] <= r ) left = mid ;
  40. else right = mid ;
  41.  
  42. }
  43. cout << left - st +1 ;
  44. if (m) cout << " ";
  45. }
  46. //
  47. // 5
  48. //10 1 10 3 4
  49. //4
  50. //1 10
  51. //2 9
  52. //3 4
  53. //2 2
  54.  
  55. cout << endl;
  56. return 0 ;
  57. }
  58.  
Success #stdin #stdout 0.01s 5440KB
stdin
2
1 2
1
3 5
stdout
0