AT_agc057_d [AGC057D] Sum Avoidance
题目描述
给定正整数 $S, K$。如果正整数序列 $A = (A_1, A_2, \ldots, A_N)$ 满足以下两个条件,则称其为**好数列**。
- $1 \leq A_1 < A_2 < \cdots < A_N \leq S - 1$。
- 对于任意非负整数序列 $(x_1, x_2, \ldots, x_N)$,都有 $\sum_{i=1}^N A_i x_i \neq S$。
在所有项数 $N$ 最大的好数列中,选择字典序最小的那个,记为 $A = (A_1, A_2, \ldots, A_N)$。请输出该数列的第 $K$ 项 $A_K$。如果 $K > N$,则输出 $-1$。
给定 $T$ 组测试数据,请分别输出每组的答案。
输入格式
输入按以下格式从标准输入读入。
> $T$
> $\text{case}_1$
> $\vdots$
> $\text{case}_T$
每组测试数据格式如下:
> $S\ K$
输出格式
输出 $T$ 行,第 $i$ 行输出第 $i$ 组测试数据的答案。
说明/提示
### 数据范围
- $1 \leq T \leq 1000$
- $3 \leq S \leq 10^{18}$
- $1 \leq K \leq 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 翻译