Advertisement
Guest User

Untitled

a guest
Nov 12th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.57 KB | None | 0 0
  1. int ql[N], qr[N], X[N];
  2. int x, y;
  3. void kek(int l, int r) {
  4.     int st = 0, fn = 0;
  5.     ql[fn] = l;
  6.     qr[fn] = r;
  7.     fn++;
  8.     int v = 1;
  9.     while (st < fn) {
  10.         if (v == y + 1)
  11.             break;
  12.         int ll = ql[st], rr = qr[st];
  13.         st++;
  14.         int mid = ll + rr >> 1;
  15.         X[mid] = v;
  16.         v++;
  17.         if (mid + 1 <= r) {
  18.             ql[fn] = mid + 1;
  19.             qr[fn] = rr;
  20.             fn++;
  21.         }
  22.         if (mid - 1 >= l) {
  23.             ql[fn] = ll;
  24.             qr[fn] = mid - 1;
  25.             fn++;
  26.         }
  27.     }
  28.  
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement