编程题
### 问题描述 小然有一个长度为 $N$ 的整数数组 $A$。 我们定义一个三元组数组为所有满足 $1 \leq i < j < k \leq N$ 的 $(i, j, k)$ 对应的 $\min(A_i, A_j, A_k)$ 的集合。 现在我们有 $Q$ 个查询,每个查询给出一个整数 $K$,你的任务是返回三元组数组中第 $K$ 小的元素。 ### 输入格式 第一行输入一个整数 $T$,表示测试用例的数量。 每个测试用例包含多行: - 第一行输入两个整数 $N$ 和 $Q$,分别表示数组 $A$ 的长度和查询的数量。 - 第二行输入 $N$ 个整数,分别是 $A_1$,$A_2$,...,$A_N$,表示数组 $A$ 的元素。 - 接下来 $Q$ 行,每行输入一个整数 $K$,表示一个查询。 ### 输出格式 对于每个查询,输出一行,表示三元组数组中第 $K$ 小的元素。 ### 样例输入 ```text 2 6 2 3 3 3 3 3 3 18 1 4 4 2 4 2 1 1 2 3 4 ``` ### 样例输出 ```text 3 3 1 1 1 2 ``` ### 说明 样例中的第一个测试用例:这里,三元组数组中的所有元素都等于 3。 样例中的第二个测试用例:排序后的三元组数组是 $[1, 1, 1, 2]$。 ### 评测数据范围 $1 \leq T \leq 1000$。 $3 \leq N \leq 3 \times 10^5$。 $1 \leq Q \leq 3 \times 10^5$。 $-10^9 \leq A_i \leq 10^9$。 $1 \leq K \leq \binom{N}{3}$。 所有测试用例中 $N$ 和 $Q$ 的和不超过 $3 \times 10^5$。
查看答案
赣ICP备20007335号-2