题目大意

一开始没注意到这句话,绷不住了。注意,读题面,一定要把每句话都读到,你就看大写字母就完了。
也不能怪我,这个 if 在 cf 题面上的这个位置太阴了。

题意总结
给定 个球,以及它们被依次使用时的颜色序列 。
Antonella 按如下规则逐个放球,且每一步之后都必须保持整个球堆稳定:

-
第一个球一定放在地面上。
-
之后每次加入一个新球时,这个球要么放在地面上,要么恰好放在两个球的正上方。
-
所有在地面上的球必须紧密排列,中间不能有空隙。
-
如果当前有多个合法放置位置,Antonella 一定选择最高的位置。
-
如果最高的位置不止一个,则她可以任选其中一个。
若若干个同色球两两之间可以通过“接触”的球一路连通,则它们构成一个同色连通块,称为一个 cluster。cluster 的大小就是其中球的个数。
题目要求你在所有可能构造出的稳定球堆中,求出:
所有颜色的所有 cluster 里,最大 cluster 的大小 的最大可能值。
也就是说,要输出 Antonella 在满足规则的前提下,最终有可能得到的最大同色连通块大小。
输入格式
第一行是整数 。
第二行是 个整数 ,表示每个球按加入顺序的颜色。
输出格式
输出一个整数,表示答案。
样例 1
1 | Input |
解释:
先放第一个颜色为 1 的球。第二个颜色为 2 的球也只能放在地面上,可以放在第一个球左边或右边。第三个颜色为 1 的球此时会放到前两个球上方。这样最终颜色为 1 的两个球会连成一个大小为 2 的 cluster,所以答案是 2。
样例 2
1 | Input |
解释:
三个球颜色都相同,不管具体怎么放,最终都能连成一个大小为 3 的同色 cluster,所以答案是 3。
样例 3
1 | Input |
解释:
按规则逐步加入后,最大的同色连通块大小最多只能达到 2,因此答案是 2。
样例 4
1 | Input |
解释:
在某种合法构造下,颜色为 2 的球可以形成一个大小为 3 的 cluster,因此答案是 3。
思路讲解
AC代码
1 |