fork download
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5.  
  6. int countBinarySearchableIndex(int Arr[], int l, int r,
  7.  
  8. int LR, int RL)
  9. {
  10.  
  11. if(l > r)
  12. return 0;
  13.  
  14. int ans = 0;
  15.  
  16. int mid = (l + r) /2 ;
  17.  
  18. if(Arr[mid] > LR && Arr[mid] < RL)
  19. ans = 1;
  20.  
  21.  
  22. int left = countBinarySearchableIndex(Arr, 0, mid-1, LR, min(RL, Arr[mid]));
  23. int ri = countBinarySearchableIndex(Arr, mid+1, r, max(LR,Arr[mid]), RL);
  24.  
  25. return ans + left + ri;
  26. }
  27.  
  28.  
  29.  
  30.  
  31. int main()
  32. {
  33.  
  34. int Arr[] = { 10, 1, 2, 3, 4, 8, 6, 5,
  35.  
  36. 7, 12, 9, 8, 13, 15, 11 };
  37.  
  38. int n = 15;
  39.  
  40. cout << "Number of Binary Searchable Indexes: ";
  41.  
  42. cout << countBinarySearchableIndex(Arr, 0, n - 1, -1e9,
  43.  
  44. 1e9)
  45.  
  46. << endl;
  47.  
  48. return 0;
  49. }
Success #stdin #stdout 0.01s 5284KB
stdin
Standard input is empty
stdout
Number of Binary Searchable Indexes: 9