AT_abc449_e.[ABC449E] A += v

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

给定整数 N,MN, M 和一个长度为 NN 的整数序列 A=(A1,A2,…,AN)A=(A_1,A_2,\ldots,A_N),序列中每个元素都在 11 到 MM 之间(包含 11 和 MM)。

对这个整数序列 AA 重复执行如下操作 1010010^{100} 次:

  • 记 vv 为 11 到 MM 中,在 AA 中出现次数最少的整数。如果存在多个这样的 vv,取最小的那个。然后将 vv 加到 AA 的末尾。

有 QQ 个询问。第 ii 个询问给定整数 XiX_i,请你在执行操作 1010010^{100} 次之后,输出 AXiA_{X_i} 的值。

输入格式

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

NN MM
A1A_1 A2A_2 …\ldots ANA_N
QQ
X1X_1
X2X_2
⋮\vdots
XQX_Q

输出格式

输出 QQ 行。

第 ii 行输出第 ii 个询问的答案。

输入输出样例

  • 输入#1

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

    输出#1

    1
    1
    2
    3
    2
    3
    1
    2
  • 输入#2

    7 30
    20 26 3 14 4 4 9
    10
    31
    9
    21
    23
    97
    99
    30
    79
    57
    3

    输出#2

    30
    2
    18
    21
    7
    9
    29
    19
    27
    3

说明/提示

样例解释 1

初始时,A=(1,1,2)A=(1,1,2)。每次操作后,AA 的变化如下:

  • 第一次操作:AA 中 1,2,31,2,3 的出现次数分别为 2,1,02,1,0,所以 v=3v=3,将 vv 加入 AA 末尾,A=(1,1,2,3)A=(1,1,2,3)。
  • 第二次操作:AA 中 1,2,31,2,3 的出现次数分别为 2,1,12,1,1,所以 v=2v=2,将 vv 加入 AA 末尾,A=(1,1,2,3,2)A=(1,1,2,3,2)。
  • 第三次操作:AA 中 1,2,31,2,3 的出现次数分别为 2,2,12,2,1,所以 v=3v=3,将 vv 加入 AA 末尾,A=(1,1,2,3,2,3)A=(1,1,2,3,2,3)。
  • ⋮\vdots

重复很多次后,AA 变为 A=(1,1,2,3,2,3,1,2,…)A=(1,1,2,3,2,3,1,2,\ldots)。

约束条件

  • 1≤N,M≤5×1051\le N,M\le 5\times 10^5
  • 1≤Ai≤M1\le A_i \le M
  • 1≤Q≤2×1051\le Q\le 2\times 10^5
  • 1≤Xi≤10181\le X_i \le 10^{18}
  • 所有输入值均为整数。

由 ChatGPT 5 翻译

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

首页