QOJ.ac

QOJ

Time Limit: 1 s Memory Limit: 256 MB Total points: 100

#4791. Movies

统计

看电影是一件复杂的事情。你已经将现有的电影分成了两个列表:

  • 包含 $N$ 部电影的主列表。
  • 包含 $K$ 部电影的次列表。

因此,你总共有 $N + K$ 部电影。每部电影都有一个不同的整数评分,取值范围为集合 $\{1, 2, \dots, N + K\}$。

由于你不想连续观看太多烂片或太多好片,你设计了以下观看算法:

  • 在每一步中,你从主列表中取出一部电影观看。它随后会从主列表中消失。
  • 你选择的电影必须在当前可用的最差电影和最好电影之间交替。第一次选择必须是最好的电影。评分最低的电影被视为最差,评分最高的电影被视为最好。只有包含在主列表中的电影才是可用的。
  • 观看完选定的电影后,你将从次列表中选择另一部电影,并将其插入到主列表的任意位置。一旦次列表为空,你将停止观看电影。注意,这意味着主列表将始终恰好包含 $N$ 部电影。

你希望你的主列表按电影评分升序排列。因为你太懒了,不想手动整理列表,所以你不会对列表本身做任何操作。相反,在算法的每一步中,你将决定插入哪部电影以及将其插入到主列表的什么位置,从而使主列表变得有序所需的步数最小化。

输入格式

第一行包含两个整数 $N$ 和 $K$ ($1 \le N \le 100\,000, 1 \le K \le 200\,000$)。 第二行包含 $N$ 个整数:主列表中的电影。 第三行包含 $K$ 个整数:次列表中的电影。 保证主列表评分和次列表评分的并集等于集合 $\{1, 2, \dots, N + K\}$。

输出格式

输出一行,包含一个整数:使主列表有序所需的最少步数,如果不可能,则输出 $-1$。

样例

输入 1

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

输出 1

4

说明 1

在第一步中,你将观看评分为 5 的电影,因为它是当前可用的最好电影。然后,你必须补充主列表。你通过从次列表中插入评分为 7 的电影到主列表的末尾来完成此操作。它们现在看起来像这样:

Main = [3 1 2 4 7] Secondary = [6 8 9 10]

在第二步中,轮到你观看最差的电影,所以你观看评分为 1 的电影。你用评分为 8 的电影替换它,并再次将其放在列表末尾。

Main = [3 2 4 7 8] Secondary = [6 9 10]

在第三步中,你观看评分为 8 的电影(当前可用的最好电影),并将评分为 9 的电影添加到列表末尾。

Main = [3 2 4 7 9] Secondary = [6 10]

在第四步中,你观看评分为 2 的电影(当前可用的最差电影),并将评分为 10 的电影添加到列表末尾。

Main = [3 4 7 9 10] Secondary = [6]

主列表现在按升序排列,因此答案是 4。注意,尽管此示例中的所有插入都发生在主列表的末尾,但这并非必须。电影可以插入到主列表的任何位置。

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.