Codeforces Round 276 (Div. 1) |
---|
Закончено |
Обозначим за количество единиц в двоичной записи целого неотрицательного числа x.
Вам дано несколько запросов, каждый в виде пары целых чисел l и r. Для каждого запроса найдите такое x, что l ≤ x ≤ r, а максимально. Если таких чисел несколько, то требуется найти наименьшее из них.
Первая строка содержит целое число n — количество запросов (1 ≤ n ≤ 10000).
Следующие n строк содержат по два числа li, ri — параметры для очередного запроса (0 ≤ li ≤ ri ≤ 1018).
На каждый запрос выведите требуемое число в отдельной строке.
3
1 2
2 4
1 10
1
3
7
Двоичные представления чисел от 1 до 10 выглядят следующим образом:
110 = 12
210 = 102
310 = 112
410 = 1002
510 = 1012
610 = 1102
710 = 1112
810 = 10002
910 = 10012
1010 = 10102
Название |
---|