SP238 HOLIDAY2 - Getting Rid of the Holidays (Act II)

题目描述

最近,约翰尼国王因为身体不适而无法处理政务的时间从几天延长到了几周。你这位比特兰的摄政王感到,代理国王的任务并没有想象中那么轻松。你遇到了一些极为棘手的难题。比如,取消假期后,王国的劳动力效率不升反降,着实令人费解。 这中间似乎隐藏着一个合理的原因:尽管每个假期都是按照固定天数轮流出现的,但是各个假期之间的间隔时间很长且不规则,而正是这种不规律性导致了问题的产生。 于是,你决定再次应对此问题,并且这次要彻底解决它。你的核心目标是建立一个 $r$ 天的工作周期($r$ 为某个整数)。在这个周期中,工人们将工作 $(r-1)$ 天,之后休息一天,然后再开始新的 $(r-1)$ 天工作,以此类推。这套工作安排必须如此,使得假期只能出现在休息日。你的任务是选择移除 $n$ 个假期中的恰好 $k$ 个,以便可以确立最长的工作周期 $r$。 **要求使用不超过 4kB 的源代码来解决此问题。**

输入格式

第一行输入一个整数 $t$,表示测试用例的数量,$t$ 的值不超过 100。接下来是 $t$ 个测试用例的描述。 每个测试用例的第一行包含两个用空格分隔的整数 $n$ 和 $k$($1 \leq k < n \leq 100$),分别代表假期的总数和需要取消的假期数量。第二行包括 $n$ 个用空格分隔的整数,第 $i$ 个整数 $t_i$($1 \leq t_i \leq 10^{18}$)表示第 $i$ 个假期每隔多少天出现一次。

输出格式

对于每个测试用例,输出一行包含一个严格递增的序列,这个序列恰好包含 $k$ 个整数,表示要取消的假期编号,这些假期按输入顺序从 1 到 $n$ 编号。 **本翻译由 AI 自动生成**