题目描述
给定正整数 S,K。如果正整数序列 A=(A1,A2,…,AN) 满足以下两个条件,则称其为好数列。
- 1≤A1<A2<⋯<AN≤S−1。
- 对于任意非负整数序列 (x1,x2,…,xN),都有 ∑i=1NAixi=S。
在所有项数 N 最大的好数列中,选择字典序最小的那个,记为 A=(A1,A2,…,AN)。请输出该数列的第 K 项 AK。如果 K>N,则输出 −1。
给定 T 组测试数据,请分别输出每组的答案。
输入格式
输入按以下格式从标准输入读入。
T
case1
⋮
caseT
每组测试数据格式如下:
S K
输出格式
输出 T 行,第 i 行输出第 i 组测试数据的答案。
样例 1
输入
13
3 1
3 2
7 1
7 2
7 3
7 4
10 1
10 2
10 3
10 4
10 5
2022 507
1000000000000000000 999999999999999999
输出
2
-1
2
4
6
-1
3
6
8
9
-1
1351
-1
说明/提示
数据范围
- 1≤T≤1000
- 3≤S≤1018
- 1≤K≤S−1
样例解释 1
当 S=3,7,10 时,A 分别为:
- S=3 时:A=(2)
- S=7 时:A=(2,4,6)
- S=10 时:A=(3,6,8,9)
由 ChatGPT 4.1 翻译