QOJ.ac

QOJ

実行時間制限: 2 s メモリ制限: 1024 MB 満点: 31

#12477. 相等和

統計

你被给定了一组不同的整数。你需要将它们分成两个非空子集,使得每个元素恰好属于其中一个子集,且每个子集中所有元素的和相等。

有一个匿名提示告诉我们,上述问题不太可能在多项式时间内解决(或者类似的情况),所以我们决定改变它。现在,你可以决定其中一半的整数!

这是一个包含三个阶段的交互式问题。在第一阶段,你选择 $N$ 个不同的整数。在第二阶段,你会得到另外 $N$ 个整数,它们彼此不同,且与你在第一阶段选择的整数也不同。在第三阶段,你必须将这 $2N$ 个整数分成两个子集,使得它们的和相等。所有整数都在 $1$ 到 $10^9$ 之间(包含边界),并且保证它们的总和为偶数。

输入格式

这是一个交互式问题。请确保你已经阅读了我们 FAQ 中关于交互式问题的说明。

程序首先需要读取一行,包含一个整数 $T$,表示测试用例的数量。然后,必须处理 $T$ 个测试用例。

对于每个测试用例,程序必须首先读取一行,包含一个整数 $N$。然后,必须输出一行,包含 $N$ 个不同的整数 $A_1, A_2, \dots, A_N$。这些整数中的每一个都必须在 $1$ 到 $10^9$ 之间(包含边界)。之后,程序必须读取一行,包含另外 $N$ 个整数 $B_1, B_2, \dots, B_N$。最后,程序必须输出一行,包含 $1$ 到 $2N - 1$ 个整数,这些整数选自 $A_1, A_2, \dots, A_N, B_1, B_2, \dots, B_N$:它们被选为第一个子集的一部分。你没有输出的来自 $A$ 和 $B$ 的整数将被视为属于另一个子集。

如果还有下一个测试用例,它会立即开始。如果这是最后一个测试用例,裁判程序将不再期待任何输出,也不会向你的程序发送任何进一步的输入。此外,无论你的程序最终输出是否正确,所有测试用例总是会被处理。

说明:可以证明,给定此问题的限制,存在一个序列 $A_1, A_2, \dots, A_N$,使得对于任何序列 $B_1, B_2, \dots, B_N$,得到的 $2N$ 个整数集合都可以被分成两个和相等的子集。

如果裁判程序在任何时候收到格式错误或无效的行(例如输出的整数数量不符合预期、整数超出范围或一行中出现重复整数),裁判程序将打印一个数字 $-1$ 并且不会再打印任何输出。如果你的程序在收到 $-1$ 后继续等待裁判程序,你的程序将会超时,导致 Time Limit Exceeded 错误。请注意,你有责任让你的程序及时退出,以便接收 Wrong Answer 判决,而不是 Time Limit Exceeded 错误。通常情况下,如果超过内存限制或程序出现运行时错误,你将收到相应的判决。

数据范围

$1 \le T \le 100$。 $N = 100$。 $1 \le B_i \le 10^9$,对于所有 $i$。 $B_i \neq A_j$,对于所有 $i, j$。 $B_i \neq B_j$,对于所有 $i \neq j$。 对于每个测试用例,裁判程序会选择 $B_i$,使得所有 $2N$ 个整数的和为偶数。

样例

样例输入 1

2
3
10 4 9
3
10 8 12

样例输出 1

5 1 3
1 10 5
5 2 3
12 8

说明

在上面的样例交互中,解决方案正确处理了所有情况并会收到正确的判决。请注意,$N$ 的值不符合测试集的限制,仅用于简化示例。请注意,裁判程序本可以为第一个测试用例给出整数 $\{2, 7, 100\}$,这使得解决方案无法找到一个有效的划分为和相等的子集。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.