Sreekar_0125

Untitled

Mar 7th, 2024
971
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.89 KB | None | 0 0
  1. T query(size_t treeIndex, size_t left, size_t right)
  2.     {
  3.         cerr << "qL : " << queryLeft << ' ' << "qR : " << queryRight << endl;
  4.         cerr << treeIndex << ' ' << left << ' ' << right << endl;
  5.         if (queryLeft <= left && right <= queryRight)
  6.             return tree[treeIndex];
  7.  
  8.         size_t mid = left + (right - left) / 2;
  9.         cerr << "mid : " << mid << endl;
  10.         if (queryRight <= mid)
  11.             return query(2 * treeIndex + 1, left, mid);
  12.         if (queryLeft > mid)
  13.         {
  14.            return query(2 * treeIndex + 2, mid + 1, right);
  15.         }
  16.        
  17.         int Left = query(2 * treeIndex + 1, left, mid);
  18.         int Right = query(2 * treeIndex + 2, mid + 1, right);
  19.        
  20.         if(treeIndex == 0)
  21.         {
  22.             cerr << "Final Returning : " << Left << ' ' << Right << endl;
  23.         }
  24.            
  25.         return max(Left, Right);
  26.     }
Advertisement
Add Comment
Please, Sign In to add comment