QOJ.ac

QOJ

実行時間制限: 2 s メモリ制限: 512 MB 満点: 100

#875. 安排食人鱼

統計

你所在的水族馆希望扩充其种类稀少的水生生物,但缺乏资金。你被指派通过拍摄两个展区的照片来帮助宣传水族馆。第一张照片拍得很顺利,因为鲶鱼非常配合。对于食人鱼,你心中有一个非常适合拍照的排列方案。然而,让食人鱼移动的唯一方法是鲁莽地将手指伸入水中来引诱它们。你的目标是在不失去手指的情况下,尽快将食人鱼移动到目标位置。

食人鱼展区可以从左到右划分为位置 $1, \dots, n$。展区内有 $k$ 条食人鱼,每个位置最多容纳一条食人鱼。你可以将手指伸入任何空闲位置。这会引诱你手指左侧最近的食人鱼和右侧最近的食人鱼。这些食人鱼会向你的手指游动,每秒向前移动一个位置。所有其他食人鱼保持原地不动。如果食人鱼到达你手指所在的位置,它就会咬伤你的手指,因此你必须在发生这种情况之前将手指移开。移开手指并将其伸入另一个位置不需要任何时间。

例如,假设食人鱼位于位置 $2, 7$ 和 $9$。如果你将手指伸入位置 $4$,一秒钟后,食人鱼将分别位于位置 $3, 6$ 和 $9$。你现在必须移开手指,以防止位置 $3$ 的食人鱼在一秒后咬伤你的手指。如果你现在将手指伸入位置 $1$,只有位置 $3$ 的食人鱼会移动,并在一秒后到达位置 $2$。

输入格式

  • 第一行包含两个整数 $n$ ($1 \le n \le 1000$),表示位置数量,以及 $k$ ($1 \le k \le n$),表示食人鱼数量。
  • 第二行包含 $k$ 个整数 $1 \le p_1 < \dots < p_k \le n$,表示食人鱼的当前位置。
  • 第三行包含 $k$ 个整数 $1 \le d_1 < \dots < d_k \le n$,表示食人鱼的目标位置。

输出格式

输出将所有食人鱼移动到目标位置所需的最少秒数。如果无法做到,输出 “impossible”。

样例

输入 1

9 3
3 7 9
3 5 9

输出 1

4

输入 2

8 3
1 5 8
2 4 7

输出 2

impossible

输入 3

20 6
1 4 7 10 13 20
2 5 8 11 14 17

输出 3

17

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.