AT_joi2020_yo1a_c.マージ (Merge)

普及-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个长度为 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)。这两个序列都是广义单调递增序列。也就是说,满足 A1≤A2≤⋯≤ANA_1\leq A_2\leq \cdots\leq A_N,B1≤B2≤⋯≤BMB_1\leq B_2\leq \cdots\leq B_M。

使用如下算法,从这两个序列生成一个长度为 N+MN+M 的正整数序列 C=(C1, C2, …, CN+M)C=(C_1,\ C_2,\ \ldots,\ C_{N+M})。

  1. 初始时 CC 为空。
  2. 如果 AA 和 BB 都为空,则算法结束。
  3. 如果 AA 或 BB 其中之一为空,则令 tt 为非空的那个序列。如果都不为空,则取首元素较小的序列为 tt。如果 AA 和 BB 的首元素相等,则取 AA 作为 tt。
  4. 将 tt 的首元素添加到 CC 的末尾。
  5. 从 tt 中删除首元素。
  6. 返回步骤 2。

给定广义单调递增的正整数序列 AA 和 BB,请编写程序输出按照上述算法生成的正整数序列 CC。

输入格式

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

NN MM A1A_1 A2A_2 ⋯\cdots ANA_N B1B_1 B2B_2 ⋯\cdots BMB_M

输出格式

请输出 N+MN+M 行。

第 kk 行(1≤k≤N+M1\leq k\leq N+M)输出 CkC_k。

输入输出样例

  • 输入#1

    2 1
    1 2
    2

    输出#1

    1
    2
    2
  • 输入#2

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

    输出#2

    1
    3
    3
    3
    4
    5
    6
    7
    8
    8
    9

说明/提示

限制条件

  • 1≤N≤5001\leq N\leq 500。
  • 1≤M≤5001\leq M\leq 500。
  • 1≤A1≤A2≤⋯≤AN≤20001\leq A_1\leq A_2\leq \cdots\leq A_N\leq 2000。
  • 1≤B1≤B2≤⋯≤BM≤20001\leq B_1\leq B_2\leq \cdots\leq B_M\leq 2000。

样例解释 1

在执行算法前,A=(1,2), B=(2)A=(1,2),\ B=(2)。数列 CC 的生成过程如下:

  • 数列 AA 的首元素为 11,数列 BB 的首元素为 22,因此将 AA 的首元素添加到 CC 并从 AA 中删除。
  • 数列 AA 的首元素为 22,数列 BB 的首元素为 22,因此将 AA 的首元素添加到 CC 并从 AA 中删除。
  • 数列 AA 已空,因此将 BB 的首元素添加到 CC 并从 BB 中删除。
  • 数列 AA 和 BB 都为空,算法结束。

算法结束后,数列 C=(1,2,2)C=(1,2,2)。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页