#HK3940. 「JOI 2023 Final」石子排列 2

「JOI 2023 Final」石子排列 2

题目描述

译自 JOI 2023 Final T1「碁石ならべ 2 / Stone Arranging 2

JOI 君有 NN 个石子。石子从 11NN 编号。每个石子的颜色用一个 1110910^9 之间的整数表示(包括两端)。最初,第 i (1iN)i\ (1\le i\le N) 颗石子的颜色是 AiA_i

现在开始,JOI 君会进行 NN 次操作。他会把这些石子在桌子上排成一排。第 i (1iN)i\ (1\le i\le N) 次操作按如下方式进行:

  1. JOI 君会把石子 ii 放在石子 i1i-1 的右边,并与其相邻。然而,当 i=1i=1 时,JOI 君会把石子 11 放在桌子上。
  2. 如果在石子 1,2,,i11,2,\ldots,i-1 中,存在一个石子满足这个石子的颜色和第 ii 个石子相同,令 jj 为这样的石子中下标最大的,然后 JOI 君会把石子 j+1,j+2,,i1j+1,j+2,\ldots,i-1 都涂成 AiA_i 颜色。

为了确认操作是否正确进行,JOI 君想提前知道在所有操作都进行之后,石子的颜色是什么。

给出这些石子的信息,写一个程序确定在 NN 次操作之后每个石子的颜色。

输入格式

第一行一个整数 NN,表示石子个数。

接下来 NN 行,每行一个整数 AiA_i,表示每个石子的颜色。

输出格式

输出 NN 个整数,第 i (1iN)i\ (1\le i\le N) 行表示 NN 次操作之后第 ii 个石子的颜色。

6
1
2
1
2
3
2

1
1
1
2
2
2

这些操作按下表所示过程进行。

操作 桌子上石子的颜色 解释
11 11 石子 11 被放在桌子上
22 1,21,2 石子 22 紧挨着石子 11 并放在其右边
33 1,2,11,2,1 石子 33 紧挨着石子 22 并放在其右边
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 并放在其右边
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 的限制。

10
1
1
2
2
1
2
2
1
1
2

1
1
1
1
1
1
1
1
1
2

这组样例满足所有子任务的限制。

数据范围与提示

对于全部数据,满足:

  • 1N2×1051\le N\le 2\times 10^5
  • 1Ai109 (1iN)1\le A_i\le 10^9\ (1\le i\le N)

详细附加限制及分值如下表所示。

子任务编号 附加限制 分值
11 N2 000N\le 2\ 000 2525
22 Ai2 (1iN)A_i\le 2\ (1\le i\le N) 3535
33 无附加限制 4040