B. 强哥的两队数列大比拼

    传统题 1000ms 256MiB

强哥的两队数列大比拼

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

强哥正在主持一场数列大比拼,他邀请了两队数字选手: 队伍 {a}\{a\} 和队伍 {b}\{b\}。这两队的选手各有自己的编号,分别为 11nn11mm

规则如下:

  1. 强哥会将两队选手按照编号顺序依次安排进一个大队伍 {c}\{c\}{c}\{c\} 的顺序是先 {a}\{a\}{b}\{b\}
  2. 然后,他会对 {c}\{c\} 中的所有选手进行排序,排序后每个选手会有一个新的位置。
  3. 最后,强哥需要记录两队原始选手在排序后 {c}\{c\} 中的新位置。

你能帮强哥快速计算出结果吗?


数据范围

  • 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
  • 任意 AiBjA_i\neq B_j 对于所有 i,j (1iN,1jM)i,j\ (1\leq i\leq N,1\leq j\leq M)

输入格式

输入通过标准输入,格式如下:

NN MM

A1A2...ANA_1 A_2 ... A_N

B1B2...BMB_1 B_2 ... B_M


输出格式

输出 22 行:

  • 第一行表示 {a}\{a\} 中的选手在排序后 {c}\{c\} 中的新位置(按原始顺序输出)。
  • 第二行表示 {b}\{b\} 中的选手在排序后 {c}\{c\} 中的新位置(按原始顺序输出)。

示例

输入样例 1

4 3
3 14 15 92
6 53 58

输出样例 1

1 3 4 7
2 5 6

解释

  • 合并后的队伍 {c}\{c\} 是:(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

输入样例 2

4 4
1 2 3 4
100 200 300 400

输出样例 2

1 2 3 4
5 6 7 8

解释

  • 合并后的队伍 {c}\{c\} 是:(1,2,3,4,100,200,300,400)(1,2,3,4,100,200,300,400)
  • {a}=(1,2,3,4)\{a\} = (1,2,3,4) 对应的位置为 1,2,3,41,2,3,4
  • {b}=(100,200,300,400)\{b\} = (100,200,300,400) 对应的位置为 5,6,7,85,6,7,8

提示

强哥希望你能用高效的方法解决,因为数字队伍可能非常长!快来助他一臂之力吧!

乔斯2025集训队第十二次周赛

未参加
状态
已结束
规则
IOI
题目
4
开始于
2025-4-4 0:00
结束于
2025-4-4 2:00
持续时间
2 小时
主持人
参赛人数
68