loj#P2879. 「JOISC 2014 Day3」JOIOJI

「JOISC 2014 Day3」JOIOJI

题目描述

题目译自 JOISC 2014 Day3 T1「JOIOJI

JOIOJI 桑是 JOI 君的叔叔。JOIOJI 这个名字是由 J,\texttt{J}, O,\texttt{O}, I\texttt{I} 三种字母各两个构成的。

最近,JOIOJI 桑喜当爹。JOIOJI 桑想让自己孩子的名字和自己一样由 J,\texttt{J}, O,\texttt{O}, I\texttt{I} 三种字母构成,并且想让 J,\texttt{J}, O,\texttt{O}, I\texttt{I} 三个字母的出现次数恰好相同。

JOIOJI 桑家有一份祖传的卷轴,上面写着一首长诗 SS,长度为 NN,由 J,\texttt{J}, O,\texttt{O}, I\texttt{I} 三种字母组成。JOIOJI 桑想用诗中最长的满足要求的连续子串作为孩子的名字。

现在 JOIOJI 桑将这首长诗交给了你,请你求出诗中最长的、包含同样数目的 J,\texttt{J}, O,\texttt{O}, I\texttt{I} 三种字母的连续子串。

输入格式

第一行一个正整数 NN,代表这首长诗的长度。
接下来一行一个长度为 NN 的字符串 SS ,表示这首长诗,保证每个字符都是 J,\texttt{J}, O,\texttt{O}, I\texttt{I} 三个字母中的一个。

输出格式

输出一行一个正整数,代表最长的包含等数量 J,\texttt{J}, O,\texttt{O}, I\texttt{I} 三个字母的最长连续子串的长度。如果不存在这样的子串,输出 00

10
JOIIJOJOOI
6
8
IOIIJIIO
0
20
JJIOOIJIJOIOJIOJOOIJ
15

数据范围与提示

对于 5%5\% 的测试数据,N500N\le 500
对于另外 15%15\% 的测试数据,N4000N\le 4000
对于所有测试数据,1N2×1051\le N\le 2\times 10^5