#aBC294C. [ABC294C] Merge Sequences

[ABC294C] Merge Sequences

AT_abc294_c [ABC294C] Merge Sequences

题目描述

给定一个长度为 NN 的严格单调递增序列 A=(A1,A2,,AN)A=(A_1,A_2,\ldots,A_N) 和一个长度为 MM 的严格单调递增序列 B=(B1,B2,,BM)B=(B_1,B_2,\ldots,B_M)。这里,对于所有的 i,j (1iN,1jM)i,j\ (1\leq i\leq N,1\leq j\leq M),都有 AiBjA_i\neq B_j

定义长度为 N+MN+M 的严格单调递增序列 C=(C1,C2,,CN+M)C=(C_1,C_2,\ldots,C_{N+M}),其获得方式如下:

  • 首先,将 AABB 连接成一个序列 CC。具体来说,对于 i=1,2,,Ni=1,2,\ldots,N,令 Ci=AiC_i=A_i,对于 i=N+1,N+2,,N+Mi=N+1,N+2,\ldots,N+M,令 Ci=BiNC_i=B_{i-N}
  • 然后,将 CC 按升序排序。

请你求出 A1,A2,,ANA_1,A_2,\ldots,A_NB1,B2,,BMB_1,B_2,\ldots,B_MCC 中分别是第几位。更严格地说,先依次求出对于 i=1,2,,Ni=1,2,\ldots,N,满足 Ck=AiC_k=A_ikk,再依次求出对于 j=1,2,,Mj=1,2,\ldots,M,满足 Ck=BjC_k=B_jkk

输入格式

输入以如下格式从标准输入读入。

NN MM A1A_1 A2A_2 \ldots ANA_N B1B_1 B2B_2 \ldots BMB_M

输出格式

请输出 22 行。
11 行输出 A1,A2,,ANA_1,A_2,\ldots,A_NCC 中分别是第几位,数之间用空格隔开。
22 行输出 B1,B2,,BMB_1,B_2,\ldots,B_MCC 中分别是第几位,数之间用空格隔开。

输入输出样例 #1

输入 #1

4 3
3 14 15 92
6 53 58

输出 #1

1 3 4 7
2 5 6

输入输出样例 #2

输入 #2

4 4
1 2 3 4
100 200 300 400

输出 #2

1 2 3 4
5 6 7 8

输入输出样例 #3

输入 #3

8 12
3 4 10 15 17 18 22 30
5 7 11 13 14 16 19 21 23 24 27 28

输出 #3

1 2 5 9 11 12 15 20
3 4 6 7 8 10 13 14 16 17 18 19

说明/提示

限制条件

  • 1N,M1051\leq N,M\leq 10^5
  • 1A1<A2<<AN1091\leq A_1<A_2<\cdots<A_N\leq 10^9
  • 1B1<B2<<BM1091\leq B_1<B_2<\cdots<B_M\leq 10^9
  • 对于所有 i,j (1iN,1jM)i,j\ (1\leq i\leq N,1\leq j\leq M),都有 AiBjA_i\neq B_j
  • 输入均为整数

样例解释 1

CC(3,6,14,15,53,58,92)(3,6,14,15,53,58,92)A=(3,14,15,92)A=(3,14,15,92) 的元素分别在第 1,3,4,71,3,4,7 位,B=(6,53,58)B=(6,53,58) 的元素分别在第 2,5,62,5,6 位。

由 ChatGPT 4.1 翻译