Codeforces Round 599 (Div. 1) |
---|
Закончено |
Уджану нужен перерыв от уборки, поэтому он начал играться с бесконечными последовательностями. У него есть два числа $$$n$$$ и $$$k$$$. Он создаёт бесконечную последовательность $$$s$$$, повторяя следующие шаги.
Уджан прекратит валять дурака, когда он запишет число $$$n$$$ в последовательности $$$s$$$. Помогите ему найти позицию $$$n$$$ в $$$s$$$. Другими словами, найдите целое число $$$x$$$ такое, что $$$s_{x} = n$$$. Возможно доказать, что все положительные целые числа появляются в $$$s$$$ ровно по одному разу.
Первая строка содержит одно целое число $$$t$$$ ($$$1 \le t \le 10^{5}$$$), количество тестовых примеров.
Затем каждая из следующих $$$t$$$ строк содержит по два целых числа $$$n$$$ и $$$k$$$ ($$$1 \le n \le 10^{18}$$$, $$$2 \le k \le 10^{6}$$$), число, которое необходимо найти в последовательности $$$s$$$ и параметр для создания самой последовательности $$$s$$$.
В каждой из $$$t$$$ строк выведите ответ на соответствующий тестовый пример.
2 10 2 40 5
11 12
В первом примере, $$$s = (1, 2, 3, 4, 5, 9, 6, 7, 13, 8, 10, 18, \ldots)$$$. $$$10$$$ является $$$11$$$-th по счёту числом, поэтому ответ $$$11$$$.
Во втором примере, $$$s = (1, 2, 3, 4, 5, 15, 6, 7, 8, 9, 10, 40, \ldots)$$$.
Название |
---|