Advertisement
bero_0401

fast search

Jul 8th, 2025
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.93 KB | Source Code | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4.  
  5. int main() {
  6.  
  7.     int n ;
  8.     cin >> n;
  9.     int a[n];
  10.     for (int i = 0; i < n; i++)cin >> a[i];
  11.     sort(a , a+n);
  12.     int q; cin>>q;
  13.  
  14.     while(q--){
  15.         int x , y;
  16.         cin>>x>>y;
  17.  
  18.         int start = 0;
  19.         int end = n-1;
  20.         int l = -1;
  21.         while(start <= end){
  22.             int mid = (start + end) / 2;
  23.             if(a[mid] < x){
  24.                 start = mid+1;
  25.                 l = mid;
  26.             }else {
  27.                 end = mid - 1;
  28.             }
  29.         }
  30.  
  31.  
  32.  
  33.         start = 0;
  34.         end = n-1;
  35.         int r = n;
  36.         while(start <= end){
  37.             int mid = (start + end) / 2;
  38.             if(a[mid] <= y){
  39.                 start = mid+1;
  40.  
  41.             }else{
  42.                 end = mid - 1;
  43.                 r = mid;
  44.             }
  45.         }
  46.        
  47.        cout<<r-l-1<<"\n";
  48.  
  49.     }
  50.  
  51.     return 0;
  52. }
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement