CF1242D.Number Discovery
NOI/NOI+/CTSC
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Ujan needs some rest from cleaning, so he started playing with infinite sequences. He has two integers n and k. He creates an infinite sequence s by repeating the following steps.
- Find k smallest distinct positive integers that are not in s. Let's call them u1,u2,…,uk from the smallest to the largest.
- Append u1,u2,…,uk and ∑i=1kui to s in this order.
- Go back to the first step.
Ujan will stop procrastinating when he writes the number n in the sequence s. Help him find the index of n in s. In other words, find the integer x such that sx=n. It's possible to prove that all positive integers are included in s only once.
乌詹在打扫卫生后需要休息,于是开始玩起了无穷序列。他有两个整数 n 和 k。他通过重复以下步骤来构造一个无穷序列 s:
- 找出尚未出现在 s 中的 k 个最小的互异正整数,记为 u1,u2,…,uk(按从小到大的顺序)。
- 将 u1,u2,…,uk 及其和 ∑i=1kui 按此顺序追加到 s 的末尾。
- 返回第 1 步继续执行。
乌詹将在序列 s 中首次写出数字 n 时停止拖延。请帮助他找出 n 在 s 中的下标,即求满足 sx=n 的整数 x。可以证明:所有正整数在 s 中恰好出现一次。
输入格式
The first line contains a single integer t (1≤t≤105), the number of test cases.
Each of the following t lines contains two integers n and k (1≤n≤1018, 2≤k≤106), the number to be found in the sequence s and the parameter used to create the sequence s.
第一行包含一个整数 t(1≤t≤105),表示测试用例的数量。
接下来的 t 行中,每行包含两个整数 n 和 k(1≤n≤1018,2≤k≤106),分别表示要在序列 s 中查找的数以及用于构造序列 s 的参数。
输出格式
In each of the t lines, output the answer for the corresponding test case.
在每行的 t 行中,输出对应测试用例的答案。
输入输出样例
输入#1
2 10 2 40 5
输出#1
11 12
说明/提示
In the first sample, s=(1,2,3,4,5,9,6,7,13,8,10,18,…). 10 is the 11-th number here, so the answer is 11.
In the second sample, s=(1,2,3,4,5,15,6,7,8,9,10,40,…).
在第一个样例中,s=(1,2,3,4,5,9,6,7,13,8,10,18,…)。10 是该序列中的第 11 个数,因此答案为 11。
在第二个样例中,s=(1,2,3,4,5,15,6,7,8,9,10,40,…)。
输入解题思路,AI测评打分。不知道怎么写?