luogu#P16552. [ICPC 2026 LAC] Fun with Balls
[ICPC 2026 LAC] Fun with Balls
题目描述
Antonella 有 个彩色球,她希望用它们搭建一个稳定的球堆。一个球堆是稳定的,当且仅当每个球要么放在地面上,要么恰好放在另外两个球的正上方。此外,放在地面上的球必须紧密排列,这意味着它们之间不应有空隙。下图展示了三种球的排列方式:左侧是一个稳定的球堆,而另外两个则是失败的尝试。
:::align{center}
:::
Antonella 希望通过一个逐步添加的过程来搭建稳定的球堆。首先,她会挑选一个球并将其放置在地面上,形成一个仅由一个球构成的稳定球堆。然后,她将逐个添加剩余的 个球,并在每一步都保持球堆的稳定性。如果存在多个可以添加球的位置,她会选择最高的位置(相对于地面)。若仍有多个可选位置,她可以任选其一。
在稳定球堆中,若对于某个球集中的任意两个球 和 ,存在一个球的序列 ,使得对于 , 与 相接触,则称该球集是连通的。一个同色团是由相同颜色的球构成的连通球集。同色团的大小是指它所包含的球的数量。上图所示的稳定球堆中包含两个红色的同色团,大小分别为 和 ,一个绿色的同色团大小为 ,以及一个蓝色的同色团大小为 。
给定 Antonella 将使用的球的颜色顺序,你需要求出在所有可能搭建出的稳定球堆中,所有同色团大小的最大值。
输入格式
第一行包含一个整数 (),表示球的数量。
第二行包含 个整数 (对于 ,有 ),其中 表示 Antonella 将要添加的第 个球的颜色。
输出格式
输出一行一个整数,表示在所有可能搭建出的稳定球堆中,所有同色团大小的最大值。
3
1 2 1
2
3
1 1 1
3
4
1 5 5 1
2
6
1 2 2 1 2 3
3
提示
样例 1 解释:
Antonella 会将第一个球(颜色 )放在地面上。她也会将第二个球(颜色 )放在地面上,但可以放在第一个球的左侧或右侧。当插入第三个球(颜色 )时,她会将它放在前两个球的正上方。无论 Antonella 如何选择第二个球的位置,最终得到的稳定球堆中都会包含一个大小为 的同色团(颜色 )和一个大小为 的同色团(颜色 )。因此,所有可能稳定球堆中同色团大小的最大值为 。
翻译由 DeepSeek V4 Pro 完成