Advertisement
tiom4eg

Complexity?

Nov 20th, 2021
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.57 KB | None | 0 0
  1. // water = tree<int,null_type,less<int>rb_tree_tag,tree_order_statistics_node_update>
  2. int l = pos, r = water.size(), lb, rb;
  3. while (l + 1 < r) {
  4.     int m = (l + r) >> 1;
  5.     if (*(water.fbo(m)) - x > m - pos) r = m;
  6.     else l = m;
  7. }
  8. if (*(water.fbo(r)) - x == r - pos) rb = x + r - pos;
  9. else rb = x + l - pos;
  10. l = 0, r = pos;
  11. while (l + 1 < r) {
  12.     int m = (l + r) >> 1;
  13.     if (x - *(water.fbo(m)) > pos - m) l = m;
  14.     else r = m;
  15. }
  16. if (x - *(water.fbo(l)) == pos - l) lb = x - pos + l;
  17. else lb = x - pos + r;
  18. water.erase(rb - (x - lb));
  19. water.insert(lb - 1);
  20. water.insert(rb + 1);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement