Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- T query(size_t treeIndex, size_t left, size_t right)
- {
- cerr << "qL : " << queryLeft << ' ' << "qR : " << queryRight << endl;
- cerr << treeIndex << ' ' << left << ' ' << right << endl;
- if (queryLeft <= left && right <= queryRight)
- return tree[treeIndex];
- size_t mid = left + (right - left) / 2;
- cerr << "mid : " << mid << endl;
- if (queryRight <= mid)
- return query(2 * treeIndex + 1, left, mid);
- if (queryLeft > mid)
- {
- return query(2 * treeIndex + 2, mid + 1, right);
- }
- int Left = query(2 * treeIndex + 1, left, mid);
- int Right = query(2 * treeIndex + 2, mid + 1, right);
- if(treeIndex == 0)
- {
- cerr << "Final Returning : " << Left << ' ' << Right << endl;
- }
- return max(Left, Right);
- }
Advertisement
Add Comment
Please, Sign In to add comment