Advertisement
sajid161

16:1

Apr 15th, 2021
524
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.71 KB | None | 0 0
  1. vector<int> find(int arr[], int n , int x )
  2. {  
  3.     vector<int>v;
  4.      int l=0,r=n-1,mid,flg=0;
  5.     int mn=n-1;
  6.     while(l<=r)
  7.     {
  8.         mid=(l+r)/2;
  9.         if(arr[mid]==x) flg=1;
  10.         if(arr[mid]>=x)
  11.         {
  12.             mn=min(mn,mid);
  13.             r=mid-1;
  14.  
  15.         }
  16.         else l=mid+1;
  17.     }
  18.      l=0,r=n-1;
  19.      int mx=0;
  20.      while(l<=r)
  21.     {
  22.         mid=(l+r)/2;
  23.         if(arr[mid]<=x)
  24.         {
  25.             mx=max(mx,mid);
  26.             l=mid+1;
  27.         }
  28.         else r=mid-1;
  29.     }
  30.     if(flg==0)
  31.     {
  32.        v.push_back(-1);
  33.        v.push_back(-1);
  34.        
  35.     }
  36.     else
  37.      {
  38.        v.push_back(mn);
  39.        v.push_back(mx);
  40.        
  41.     }
  42.     return v;
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement