311047: CF1926E. Vlad and an Odd Ordering

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

E. Vlad and an Odd Orderingtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard output

Vladislav has $n$ cards numbered $1, 2, \dots, n$. He wants to lay them down in a row as follows:

  • First, he lays down all the odd-numbered cards from smallest to largest.
  • Next, he lays down all cards that are twice an odd number from smallest to largest (i.e. $2$ multiplied by an odd number).
  • Next, he lays down all cards that are $3$ times an odd number from smallest to largest (i.e. $3$ multiplied by an odd number).
  • Next, he lays down all cards that are $4$ times an odd number from smallest to largest (i.e. $4$ multiplied by an odd number).
  • And so on, until all cards are laid down.
What is the $k$-th card he lays down in this process? Once Vladislav puts a card down, he cannot use that card again.Input

The first line contains an integer $t$ ($1 \leq t \leq 5 \cdot 10^4$) — the number of test cases.

The only line of each test case contains two integers $n$ and $k$ ($1 \leq k \leq n \leq 10^9$) — the number of cards Vlad has, and the position of the card you need to output.

Output

For each test case, output a single integer — the $k$-th card Vladislav lays down.

ExampleInput
11
7 1
7 2
7 3
7 4
7 5
7 6
7 7
1 1
34 14
84 19
1000000000 1000000000
Output
1
3
5
7
2
6
4
1
27
37
536870912
Note

In the first seven test cases, $n=7$. Vladislav lays down the cards as follows:

  • First — all the odd-numbered cards in the order $1$, $3$, $5$, $7$.
  • Next — all cards that are twice an odd number in the order $2$, $6$.
  • Next, there are no remaining cards that are $3$ times an odd number. (Vladislav has only one of each card.)
  • Next — all cards that are $4$ times an odd number, and there is only one such card: $4$.
  • There are no more cards left, so Vladislav stops.
Thus the order of cards is $1$, $3$, $5$, $7$, $2$, $6$, $4$.

Output

题目大意:
弗拉德有n张编号为1, 2, ..., n的卡片。他想按以下规则将它们排成一行:
1. 首先,按从小到大的顺序放下所有奇数编号的卡片。
2. 接着,放下所有是奇数两倍的卡片(即2乘以一个奇数),也是按从小到大的顺序。
3. 然后,放下所有是奇数三倍的卡片(即3乘以一个奇数),同样按从小到大的顺序。
4. 接下来,放下所有是奇数四倍的卡片(即4乘以一个奇数),继续按从小到大的顺序。
5. 以此类推,直到放下所有的卡片。

问在这个过程中,他放下的第k张卡片是什么?弗拉德一旦放下了一张卡片,就不能再次使用。

输入输出数据格式:
输入:
- 第一行包含一个整数t(1 ≤ t ≤ 5 × 10^4)——测试用例的数量。
- 每个测试用例包含一行,有两个整数n和k(1 ≤ k ≤ n ≤ 10^9)——弗拉德有的卡片数量和需要输出的卡片的位置。

输出:
- 对于每个测试用例,输出一个整数——弗拉德放下的第k张卡片。

示例输入输出:
输入:
```
11
7 1
7 2
7 3
7 4
7 5
7 6
7 7
1 1
34 14
84 19
1000000000 1000000000
```
输出:
```
1
3
5
7
2
6
4
1
27
37
536870912
```

注意:
在前七个测试用例中,n=7。弗拉德按照以下顺序放下卡片:
1. 首先,所有奇数编号的卡片按顺序1, 3, 5, 7。
2. 接着,所有是奇数两倍的卡片按顺序2, 6。
3. 接下来,没有剩余的是奇数三倍的卡片。(弗拉德每种卡片只有一个。)
4. 接着,所有是奇数四倍的卡片,只有一张这样的卡片:4。
5. 没有更多卡片剩下,所以弗拉德停止。

因此,卡片的顺序是1, 3, 5, 7, 2, 6, 4。题目大意: 弗拉德有n张编号为1, 2, ..., n的卡片。他想按以下规则将它们排成一行: 1. 首先,按从小到大的顺序放下所有奇数编号的卡片。 2. 接着,放下所有是奇数两倍的卡片(即2乘以一个奇数),也是按从小到大的顺序。 3. 然后,放下所有是奇数三倍的卡片(即3乘以一个奇数),同样按从小到大的顺序。 4. 接下来,放下所有是奇数四倍的卡片(即4乘以一个奇数),继续按从小到大的顺序。 5. 以此类推,直到放下所有的卡片。 问在这个过程中,他放下的第k张卡片是什么?弗拉德一旦放下了一张卡片,就不能再次使用。 输入输出数据格式: 输入: - 第一行包含一个整数t(1 ≤ t ≤ 5 × 10^4)——测试用例的数量。 - 每个测试用例包含一行,有两个整数n和k(1 ≤ k ≤ n ≤ 10^9)——弗拉德有的卡片数量和需要输出的卡片的位置。 输出: - 对于每个测试用例,输出一个整数——弗拉德放下的第k张卡片。 示例输入输出: 输入: ``` 11 7 1 7 2 7 3 7 4 7 5 7 6 7 7 1 1 34 14 84 19 1000000000 1000000000 ``` 输出: ``` 1 3 5 7 2 6 4 1 27 37 536870912 ``` 注意: 在前七个测试用例中,n=7。弗拉德按照以下顺序放下卡片: 1. 首先,所有奇数编号的卡片按顺序1, 3, 5, 7。 2. 接着,所有是奇数两倍的卡片按顺序2, 6。 3. 接下来,没有剩余的是奇数三倍的卡片。(弗拉德每种卡片只有一个。) 4. 接着,所有是奇数四倍的卡片,只有一张这样的卡片:4。 5. 没有更多卡片剩下,所以弗拉德停止。 因此,卡片的顺序是1, 3, 5, 7, 2, 6, 4。

加入题单

上一题 下一题 算法标签: