#P13802. [SWERC 2023] Team selection

[SWERC 2023] Team selection

Description

:::align{center}

:::

两位队长需要从编号为 11NN 的一组球员中轮流挑选队员组建各自的队伍。两位队长轮流选择,每次从剩余球员中挑选第 kk 个球员,具体选择顺序由他们各自认为最适合加入自己队伍的球员决定。

给定两位队长的选择顺序(第一位队长先选),请计算每支队伍中球员的编号列表。

Input Format

输入包含三行。

第一行包含一个整数 NN

第二行包含 N/2N/2 个用空格分隔的整数 a1,a2,,aN/2a_1, a_2, \dots, a_{N/2},表示第一位队长的选择:在第 (2k1)(2k-1) 轮时,第一位队长选择了剩余球员中的第 aka_k 个。

第三行包含 N/2N/2 个用空格分隔的整数 b1,b2,,bN/2b_1, b_2, \dots, b_{N/2},表示第二位队长的选择:在第 2k2k 轮时,第二位队长选择了剩余球员中的第 bkb_k 个。

数据范围

  • 2N40000002 \leq N \leq 4\,000\,000
  • NN22 的倍数;
  • 队长的每次选择都是有效的:每一步选择的编号在 11 到当前剩余球员数之间(包含两端)。

Output Format

输出两行,每行包含 N/2N/2 个用空格分隔的整数。

第一行输出 x1,x2,,xN/2x_1, x_2, \dots, x_{N/2},表示第一支队伍中球员的编号,按照被选中的顺序排列:第 xkx_k 个球员是在第 (2k1)(2k-1) 轮被选中的。

第二行输出 y1,y2,,yN/2y_1, y_2, \dots, y_{N/2},表示第二支队伍中球员的编号,按照被选中的顺序排列:第 yky_k 个球员是在第 2k2k 轮被选中的。

4
1 1
2 1
1 2
3 4

Hint

由 ChatGPT 4.1 翻译