Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <algorithm>
- using namespace std;
- int n,a[200005],T,nrel,x,y;
- int lowerIndex(int arr[],int n,int x)
- {
- int l=1,h=n ;
- while(l<=h)
- {
- int mid=(l+h)/2;
- if(arr[mid]>=x)
- h=mid-1;
- else
- l=mid+1;
- }
- return l;
- }
- int upperIndex(int arr[],int n,int y)
- {
- int l=1,h=n;
- while(l<=h)
- {
- int mid=(l+h)/2;
- if(arr[mid]<=y)
- l=mid+1;
- else
- h=mid-1;
- }
- return h;
- }
- int countInRange(int arr[],int n,int x,int y)
- {
- int count=0;
- count=upperIndex(arr,n,y)-lowerIndex(arr,n,x)+1;
- return count;
- }
- int main()
- {
- int i;
- cin>>n>>T;
- for(i=1;i<=n;++i)
- cin>>a[i];
- sort(a+1,a+n+1);
- for(i=1;i<=T;++i)
- {
- cin>>x>>y;
- cout<<countInRange(a,n,x,y)<<'\n';
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement