AT_joi2023ho_a.碁石ならべ 2 (Stone Arranging 2)

通过率:0%

AC君温馨提醒

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

题目描述

JOI 君有 NN 个围棋子。每个棋子都被编号为 11 到 NN,且被涂上了用 11 到 10910^9 之间的整数表示的颜色。最初,第 ii (1≤i≤N1 \leq i \leq N) 个棋子的颜色为 AiA_i。

JOI 君接下来要进行 NN 次操作,把围棋子按一行依次放在桌子上。第 ii 次操作(1≤i≤N1 \leq i \leq N)按照如下步骤进行:

  1. 将第 ii 个棋子放在第 i−1i-1 个棋子的右侧。如果 i=1i = 1,则将第 11 个棋子放在桌子上。
  2. 在第 1,2,…,i−11, 2, \dots, i-1 个棋子中,如果存在当前颜色与第 ii 个棋子相同的棋子,则取编号最大的那一个记为 jj,将第 j+1,j+2,…,i−1j+1, j+2, \dots, i-1 个棋子的颜色全部改为 AiA_i。

为了检验是否正确操作,JOI 君想提前了解所有操作后每个棋子的颜色。

给定棋子的信息,请编写程序,求出经过 NN 次操作后每个棋子的颜色。

输入格式

输入将以下述格式由标准输入给出:

NN
A1A_1
A2A_2
⋮\vdots
ANA_N

输出格式

请按顺序输出 NN 行。第 ii 行(1≤i≤N1 \leq i \leq N)输出经过 NN 次操作后第 ii 个棋子的颜色。

输入输出样例

  • 输入#1

    6
    1
    2
    1
    2
    3
    2

    输出#1

    1
    1
    1
    2
    2
    2
  • 输入#2

    10
    1
    1
    2
    2
    1
    2
    2
    1
    1
    2

    输出#2

    1
    1
    1
    1
    1
    1
    1
    1
    1
    2

说明/提示

子任务

  1. (2525 分)N≤2 000N \leq 2\,000。
  2. (3535 分)Ai≤2A_i \leq 2(1≤i≤N1 \leq i \leq N)。
  3. (4040 分)没有额外限制。

样例解释 1

操作过程如下表:

操作 棋子颜色排列 说明
11 11 第 11 个棋子放上桌。
22 1,21,2 第 22 个棋子放在第 11 个棋子右边。
33 1,2,11,2,1 第 33 个棋子放在第 22 个棋子右边。
33 1,1,11,1,1 将第 22 个棋子的颜色改为 11。
44 1,1,1,21,1,1,2 第 44 个棋子放在第 33 个棋子右边。
55 1,1,1,2,31,1,1,2,3 第 55 个棋子放在第 44 个棋子右边。
66 1,1,1,2,3,21,1,1,2,3,2 第 66 个棋子放在第 55 个棋子右边。
66 1,1,1,2,2,21,1,1,2,2,2 将第 55 个棋子的颜色改为 22。

最终,第 1,2,3,4,5,61,2,3,4,5,6 个棋子的颜色依次为 1,1,1,2,2,21,1,1,2,2,2。

本输入样例满足子任务 1,31, 3 的限制条件。


样例解释 2

本输入输出样例满足所有子任务的限制条件。

数据范围

  • 1≤N≤200 0001 \leq N \leq 200\,000。
  • 1≤Ai≤1091 \leq A_i \leq 10^9(1≤i≤N1 \leq i \leq N)。
  • 所有输入均为整数。

由 ChatGPT 5 翻译

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

首页