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 翻译