Codeforces Round 949 (Div. 2) |
---|
Закончено |
Есть последовательность $$$a_0, a_1, a_2, \ldots$$$ бесконечной длины. Изначально $$$a_i = i$$$ для каждого неотрицательного целого $$$i$$$.
Каждый элемент последовательности будет одновременно изменяться через каждую секунду. $$$a_i$$$ изменится на $$$a_{i - 1} \mid a_i \mid a_{i + 1}$$$ для каждого положительного целого $$$i$$$. $$$a_0$$$ изменится на $$$a_0 \mid a_1$$$. Здесь $$$|$$$ обозначает побитовое ИЛИ.
Черепаха должна найти значение $$$a_n$$$ после $$$m$$$ секунд. В частности, если $$$m = 0$$$, то он должен найти начальное значение $$$a_n$$$. Он устал вычислять так много значений, поэтому пожалуйста, помогите ему!
Каждый тест содержит несколько тестовых случаев. Первая строка содержит количество тестов $$$t$$$ ($$$1 \le t \le 10^4$$$). Затем следует описание тестов.
Первая строка каждого теста содержит два целых числа $$$n, m$$$ ($$$0 \le n, m \le 10^9$$$).
Для каждого теста выведите одно целое число — значение $$$a_n$$$ после $$$m$$$ секунд.
90 00 10 21 05 210 120 31145 1419198 10
0 1 3 1 7 11 23 1279 19455
Через $$$1$$$ секунду, $$$[a_0, a_1, a_2, a_3, a_4, a_5]$$$ станет $$$[1, 3, 3, 7, 7, 7]$$$.
Через $$$2$$$ секунды, $$$[a_0, a_1, a_2, a_3, a_4, a_5]$$$ станет $$$[3, 3, 7, 7, 7, 7]$$$.
Название |
---|