AT_abc013_4.[ABC013D] 阿弥陀

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

你知道从古至今传承下来的日本传统抽签方法——鬼脚图(日语:阿弥陀籤/あみだくじ)吗?

进行鬼脚图时,首先画出 NN 条平行的竖线。接着,在这些竖线之间画 MM 条横线。每条横线必须连接相邻的两条竖线,且不能有两条或更多的横线在完全相同的高度上。假设从上往下数的第 ii 条横线连接了从左往右数的第 AiA_i (1≤Ai<N1\le A_i < N) 条竖线和第 Ai+1A_i + 1 条竖线。

以下是 N=5,M=7,A={1,4,3,4,2,3,1}N = 5,M = 7,A = \{1,4,3,4,2,3,1\} 情况下的鬼脚图示例。抽签时,从某条竖线的顶部出发,沿着线向下走。当遇到横线时,必须转弯,且不能回头向上。例如,在这个鬼脚图中,从左往右数第 44 条竖线顶部开始,最终会到达左边数第 33 条竖线的底部。

以上是普通的鬼脚图。然而,在“大数据”这一术语流行的当下,鬼脚图若想在未来继续存在下去,也需要“大”起来,以迎战“大数据”。

因此,我们考虑通过将多个鬼脚图纵向连接 DD 次,构造一个巨大的鬼脚图。例如,将上面提到的鬼脚图纵向连接 22 次,可以得到如下示例。在这种情况下,从左边数第 44 条竖线顶部开始抽签,最终会到达左边数第 55 条竖线的底部。

虽然我们构造了如此巨大的鬼脚图,但如果无法高效计算抽签的结果,这个巨大的鬼脚图也不过是徒有其表的涂鸦。因此,请编写一个程序,对于满足 1≤k≤N1\le k\le N 的每个整数 kk,计算在巨大鬼脚图中,从左边数第 kk 条竖线顶部开始抽签,最终会到达左边数第几条竖线底部。

输入格式

输入以以下格式通过标准输入提供:

NN MM DD A1A_1 A2A_2 ⋯\cdots AMA_M

  • 第 1 行包含 33 个整数,表示初始鬼脚图的竖线数量 NN(2≤N≤1052\le N\le 10^5)、横线数量 MM(0≤M≤2×1050\le M\le 2 \times 10^5)、以及将初始鬼脚图纵向连接的次数 DD(1≤D≤1091\le D\le 10^9)。
  • 第 2 行包含 MM 个整数 A1,A2,⋯ ,AMA_1, A_2, \cdots, A_M(1≤Ai<N1\le A_i < N),表示每条横线的连接信息。

输出格式

输出 NN 行,第 kk 行输出一个整数,表示在巨大鬼脚图中,从左边数第 kk 条竖线顶部开始抽签,最终会到达左边数第几条竖线底部。

输出的末尾需包含换行符。

部分分

测试样例分为 4 组,分别有如下限制条件及分数:

  1. 第一组:D=1D = 1,全部正确可得 1010 分。
  2. 第二组:N≤1000N\le 1000 且 D≤1000D\le 1000,全部正确可得 2020 分。
  3. 第三组:N≤8N\le 8,全部正确可得 2020 分。
  4. 第四组:无额外限制条件,全部正确可得 5050 分。

题面译自 D - 阿弥陀。翻译来自于 ChatGPT 并进行人工校对,若有误请联系 rui_er。

输入输出样例

  • 输入#1

    5 7 1
    1 4 3 4 2 3 1

    输出#1

    4
    2
    5
    3
    1
  • 输入#2

    5 7 2
    1 4 3 4 2 3 1

    输出#2

    3
    2
    1
    5
    4
  • 输入#3

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

    输出#3

    3
    7
    2
    4
    5
    9
    6
    1
    8
    10

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

首页