#L5073. 「POI2018 R3」三座塔 2 Three towers 2
「POI2018 R3」三座塔 2 Three towers 2
题目描述
题目译自 XXV Olimpiada Informatyczna — III etap Trzy wieże 2
小朋友 Bitoni 热爱玩耍。他在房间里将 个积木排成一列,每块积木为白色、灰色或黑色三种颜色之一。Bitoni 想挑选一段连续的积木,用这些积木搭建三座塔。
Bitoni 将搭建三座塔:白色积木建白塔,灰色积木建灰塔,黑色积木建黑塔。若某颜色积木在选段中缺失,对应塔的高度为 。三座塔的高度必须互不相同(即每座塔的积木数不同)。Bitoni 必须使用所有选中的积木。帮助 Bitoni 编写程序,找出满足他要求的最长连续积木段。
输入格式
第一行包含一个正整数 ,表示积木数量。
第二行包含一个长度为 的字符串 ,其中 为字母 、 或 ,分别表示第 块积木的颜色( 为白色, 为灰色, 为黑色)。
输出格式
输出一行:若无法从任何连续积木段建满足要求的塔,输出 NIE;否则,输出一个整数,表示满足 Bitoni 要求的最长连续积木段的积木数。
样例1
输入
9
CBBSSBCSC
输出
6
解释:Bitoni 可选长度为 的积木段 BSSBCS,搭建灰塔( 块)、白塔( 块)、黑塔( 块)。
样例2
输入
5
BBBBC
输出
5
附加样例
-
,积木序列为 $\texttt{B}^{1248} \texttt{C}\underline{\texttt{SB}^{1250}}$( 表示 B 重复 次),最长可选段已标出。
-
,积木序列为 BSCBSCBSC...BSCBSCB,答案 NIE。
数据范围与提示
详细子任务附加限制及分值如下表所示。