CF1613B.Absent Remainder

传统题 时间 2000 ms 内存 256 MiB 5 尝试 1 已通过 1 标签

Absent Remainder

题目描述

给定一个由 nn 个两两不同的正整数组成的序列 a1,a2,,ana_1, a_2, \dots, a_n

请你找出 n2\left\lfloor \frac{n}{2} \right\rfloor 个不同的整数对 (x,y)(x, y),使得:

  • xyx \neq y
  • xxyy 都出现在序列 aa 中;
  • xmodyx \bmod y 不出现在序列 aa 中。

注意,同一个 xxyy 可以出现在多个对中。

x\lfloor x \rfloor 表示向下取整函数,即不大于 xx 的最大整数。xmodyx \bmod y 表示 xx 除以 yy 的余数。

如果有多组解,输出任意一组即可。可以保证至少存在一组解。

输入格式

第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。

每个测试用例的第一行包含一个整数 nn2n21052 \le n \le 2 \cdot 10^5),表示序列的长度。

每个测试用例的第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n1ai1061 \le a_i \le 10^6)。

序列中的所有数两两不同。所有测试用例中 nn 的总和不超过 21052 \cdot 10^5

输出格式

每个测试用例输出 n2\left\lfloor \frac{n}{2} \right\rfloor 个不同的整数对 (x,y)(x, y),满足 xyx \neq yxxyy 都出现在 aa 中,且 xmodyx \bmod y 不出现在 aa 中。每对一行,顺序任意。

你可以以任意顺序输出这些对,但每对中第一个数必须是 xx,第二个数必须是 yy。所有对必须两两不同。

如果有多组解,输出任意一组即可。

说明/提示

在第一个测试用例中,只有两个对:(1, 4) 和 (4, 1)。22=1\left\lfloor \frac{2}{2} \right\rfloor = 1,所以只需找一个对。1mod4=11 \bmod 4 = 1,而 11 出现在 aa 中,所以该对无效。因此,唯一可行的答案是 (4,1)(4, 1)

在第二个测试用例中,我们选择的对为 8mod2=08 \bmod 2 = 08mod4=08 \bmod 4 = 000 没有出现在 aa 中,所以该答案有效。该测试用例有多种可能的答案。

在第三个测试用例中,选择的对为 9mod5=49 \bmod 5 = 47mod5=27 \bmod 5 = 24422 都没有出现在 aa 中,所以该答案有效。

由 ChatGPT 4.1 翻译

样例

4
2
1 4
4
2 8 3 4
5
3 8 5 9 7
6
2 7 5 3 4 8
4 1
8 2
8 4
9 5
7 5
8 7
4 3
5 2

在线编程 IDE

建议全屏模式获得最佳体验