Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int pos;
- int lft;
- int rght;
- void lol(int l, int r, int cnt) {
- int len = (r - l + 1);
- if (cnt == 1) {
- pos = l + r >> 1;
- lft = pos - l + 1;
- rght = r - pos + 1;
- return;
- }
- cnt--;
- int newcnt = cnt / 2 + cnt % 2;
- if (len % 2 == 1) {
- return lol(l, (l + r) / 2 - 1, newcnt);
- } else {
- if (cnt % 2 == 1) {
- return lol((l + r) / 2 + 1, r, newcnt);
- } else {
- return lol(l, (l + r) / 2 - 1, newcnt);
- }
- }
- }
- void smain() {
- cin >> x >> y;
- kek(1, x);
- for (int i = 1; i <= x; i++) {
- cout << X[i] << " ";
- }
- cout << "\n";
- lol(1, x, y);
- cout << pos << " " << lft << " " << rght << "\n";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement