Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int ql[N], qr[N], X[N];
- int x, y;
- void kek(int l, int r) {
- int st = 0, fn = 0;
- ql[fn] = l;
- qr[fn] = r;
- fn++;
- int v = 1;
- while (st < fn) {
- if (v == y + 1)
- break;
- int ll = ql[st], rr = qr[st];
- st++;
- int mid = ll + rr >> 1;
- X[mid] = v;
- v++;
- if (mid + 1 <= r) {
- ql[fn] = mid + 1;
- qr[fn] = rr;
- fn++;
- }
- if (mid - 1 >= l) {
- ql[fn] = ll;
- qr[fn] = mid - 1;
- fn++;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement