QOJ.ac

QOJ

実行時間制限: 1 s メモリ制限: 128 MB 満点: 100

#579. 青蛙

統計

在 Byteotia 一条又长又直的小溪河床上,有 $n$ 块露出水面的岩石。它们距离溪流源头的距离分别为 $p_1 < p_2 < \dots < p_n$。一只小青蛙正坐在其中一块岩石上,准备开始它的跳跃训练。每次跳跃时,青蛙都会跳到距离当前所在岩石第 $k$ 近的岩石上。具体来说,如果青蛙当前坐在位置为 $p_i$ 的岩石上,它会跳到满足以下条件的 $p_j$ 上:

$$|\{p_a : |p_a-p_i| < |p_j-p_i|\}| \le k \quad \text{且} \quad |\{p_a : |p_a-p_i| \le |p_j-p_i|\}| > k$$

如果满足条件的 $p_j$ 不唯一,青蛙会选择其中距离源头最近的那一块。请问对于每一块起始岩石,青蛙在跳跃 $m$ 次后会停在哪块岩石上?

输入格式

第一行包含三个整数 $n, k, m$($1 \le k < n \le 1\,000\,000$,$1 \le m \le 10^{18}$),分别表示岩石的数量、参数 $k$ 以及预期的跳跃次数。第二行包含 $n$ 个整数 $p_j$($1 \le p_1 < p_2 < \dots < p_n \le 10^{18}$),用空格分隔,表示河床上各岩石的位置。

输出格式

输出一行,包含 $n$ 个整数 $r_1, r_2, \dots, r_n$,取值范围在 $[1, n]$ 之间,用空格分隔。其中 $r_i$ 表示从第 $i$ 号岩石(按输入顺序)出发,跳跃 $m$ 次后青蛙最终所在的岩石编号。

样例

输入 1

5 2 4
1 2 4 7 10

输出 1

1 1 3 1 1

该图展示了从每一块岩石出发(单次跳跃)青蛙会跳向何处。

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.