#P7485. 「Stoi2031」枫

「Stoi2031」枫

背景

缓缓飘落的枫叶像思念 为何挽回要赶在冬天来之前 爱你穿越时间 两行来自秋末的眼泪 让爱渗透了地面 我要的只是你在我身边 ——《枫》

题目描述

冬很喜欢枫叶。她家门前有一棵枫树,树上落下了 nn 片叶子。冬将它们编号为 11 到 nn。她希望这些枫叶不要这样被人踩碎后烂在地里,所以决定把它们捡起来。她称将剩余未捡起来的枫叶按编号从小到大或从大到小的顺序排序后,先捡起第一片枫叶,然后每隔 kk 片捡起一片称为一次 挽回。她会一直进行 挽回,第一次 挽回 从小到大,之后每次 挽回 的顺序都和上次不同(即上次从小到大这次就从大到小,反之亦然),直到最后一片枫叶也被捡起。她认为最后一片捡起的枫叶代表了 思念,能带来幸福。她希望获得更多的幸福,所以她会很多次地问你 nn 和 kk 取某两个值时她得到的 思念 的编号。

输入格式

第一行为数据组数 tt,满足 t=it=i,ii 为数据点编号。

第 22 到 t+1t+1 行,每行开头两个数 q,mq,m,表示她要取 qq 次,每次的枫叶数 nn 不超过 mm。接着输入 qq 个数表示每次的枫叶数 nn。第 xx 行的所有询问中 k=x−1k=x-1。

输出格式

对于每行输出 qq 个数,表示每次询问的答案。

1
2 3 1 3

1 2

2
2 3 1 3
3 7 2 4 7

1 2
2 2 5

3
2 3 1 3
3 7 2 4 7
7 10 1 2 3 6 7 8 10

1 2
2 2 5
1 2 2 3 4 6 6

提示

简述版题意:

给定 n,kn,k,对 1,2,…,n1,2,\dots,n 一直操作,每次操作交替从小到大或从大到小的顺序取走当前的第 (k+1)x+1(k+1)x+1 个数(x∈Z≥0x \in \mathbb{Z_{\ge 0}} 且 (k+1)x+1(k+1)x+1 不超过剩余数总数),求最后一个取走的数的编号。多次询问。

样例解释:

限于篇幅,只对样例 22 作解释。

对于第 22 行:

对于第一次询问,地上只有 11 片枫叶,此即 思念。

对于第二次询问,冬第一次 挽回 时依次捡起了 1,31,3 两片枫叶,转身后只剩下 22,即 思念。

对于第 33 行:

对于第一次询问,冬第一次 挽回 时捡起了 11 号枫叶,转身后剩下 22,即 思念。

对于第二次询问,冬第一次 挽回 时捡起了 1,41,4 两片枫叶,第二次 挽回 捡起了 33,剩下 22,即 思念。

对于第三次询问,冬第一次捡起了 1,4,71,4,7,第二次捡起了 6,26,2,第三次捡起了 33,此时剩下 55,即 思念。

数据范围:

本题每个数据点(除第 11 个外)输入数据除数据组数 tt 以及最后一行(第 t+1t+1 行)外与前一个数据点输入数据完全相同。各个数据点的数据范围及特殊限制如下。

Testdata No. q≤q \le m≤m \le 特殊限制 分值
11 22 33 为样例 11 33
22 33 77 为样例 22 77
33 77 1010 为样例 33 33
44 1010 3030 无
55 3030 7070 77
66 7070 100100
77 100100 300300
88 300300 700700 1010
99 700700 10310^3 33
1010 10310^3 3×1033 \times 10^3
1111 3×1033 \times 10^3 7×1037 \times 10^3 11
1212 7×1037 \times 10^3 10410^4 1313
1313 10410^4 3×1043 \times 10^4 33
1414 3×1043 \times 10^4 7×1047 \times 10^4
1515 7×1047 \times 10^4 10510^5 1010
1616 10510^5 3×1053 \times 10^5 1313
1717 3×1053 \times 10^5 7×1057 \times 10^5 11
1818 7×1057 \times 10^5 10610^6 33

本题读入量较大,可以选择使用比赛描述中的快速读入模板以加快读入速度。