#P15629. [2019 KAIST RUN Spring] Rainbow Beads

[2019 KAIST RUN Spring] Rainbow Beads

题目描述

Jaehyun 有一条由 NN 颗珠宝从左到右排列而成的串珠。每颗珠宝是红、蓝、紫三种颜色之一,分别用单个字符 R\texttt{R}, B\texttt{B}, V\texttt{V} 表示。作为一场重要比赛的委员之一,Jaehyun 想用它作为给某位参赛者的纪念品。

Jaehyun 喜欢颜色多样的串珠,因此他定义一条串珠为 美丽 的,当且仅当其中任意相邻的两颗珠宝颜色都不同。例如,RBVBV\texttt{RBVBV} 是一条美丽的串珠,因为每一对相邻珠宝颜色都不同。V\texttt{V} 也是美丽的串珠,因为它没有相邻的珠宝对。然而,RBBV\texttt{RBBV} 不是美丽的串珠,因为其中有两个 B\texttt{B} 是相邻的。

不仅 Jaehyun 喜欢颜色多样的串珠,他也喜欢具有多样性的比赛。这一次,Jaehyun 想要制作一条对色盲人士来说也色彩丰富的串珠。为了方便起见,本题中我们只考虑以下三种人:

  • 非色盲人士,他们能分辨所有三种颜色。
  • 红色盲人士(Protanopia),他们无法区分红色和紫色:他们会将紫色珠宝视为红色珠宝。
  • 蓝色盲人士(Tritanopia),他们无法区分蓝色和紫色:他们会将紫色珠宝视为蓝色珠宝。

在这种情况下,字符串 RVB\texttt{RVB} 对非色盲人士来说是色彩丰富的,但对红色盲人士来说则不是,因为红色和紫色珠宝相邻;对蓝色盲人士来说也不是,因为紫色和蓝色珠宝相邻。

Jaehyun 想从串珠中选取一个连续的部分并将其剪下作为纪念品。Jaehyun 剪下的部分必须对上述三种人来说都是色彩丰富的。请注意,如果整条串珠本身就是美丽的,那么 Jaehyun 不一定非要剪下一部分,而是可以直接给出整条串珠。请问他能给出的串珠的最大长度是多少?

输入格式

第一行包含一个整数 NN1N2500001 \leq N \leq 250\,000),表示串珠的长度。

第二行包含一个长度为 NN 的字符串,其中每个字符是 R\texttt{R}, B\texttt{B}V\texttt{V} 之一。

输出格式

输出一个整数,表示对三种人来说都色彩丰富的连续串珠的最大可能长度。

4
VRRB
2
5
RBBRR
2

提示

翻译由 DeepSeek 完成