#P14425. [JOISC 2014] JOIOJI

[JOISC 2014] JOIOJI

题目描述

JOIOJI 是 JOI 君的叔叔。JOIOJI 非常在意自己的名字,其中 J、O、I 各自恰好出现了两次。

最近,JOIOJI 的孩子出生了。他希望为孩子取一个名字,也像自己一样,由 J、O、I 这三个字母组成,且每个字母恰好出现相同次数。

JOIOJI 家中有一本代代相传的卷轴,上面写有一首诗。这首诗是由 J、O、I 三个字母组成的长度为 NN 的字符串。JOIOJI 打算从这首诗中找出一个连续子串,使得其中 J、O、I 三个字母各自出现的次数完全相同,并将这个子串作为孩子的名字,他希望找到最长的这样的子串。

题目

给定 JOIOJI 所持有的卷轴上所写的诗的信息,编写一个程序,求出诗中所有连续子串中,J、O、I 三个字母各自出现次数完全相同的子串的最大长度。

输入格式

从标准输入读取以下数据:

  • 第一行包含一个整数 NNNN 表示 JOIOJI 所持有的卷轴上所写诗的长度。
  • 第二行包含一个长度为 NN 的字符串 SSSS 表示卷轴上所写的诗,其每个字符均为 J、O、I 中的一个。

输出格式

在标准输出中,输出一行,表示诗中所有连续子串中,J、O、I 各自出现次数完全相同的子串的最大长度。如果不存在这样的子串,则输出 00

10
JOIIJOJOOI
6
8
IOIIJIIO
0
20
JJIOOIJIJOIOJIOJOOIJ
15

提示

样例 1 解释

在该输入示例中,卷轴上写有一首长度为 1010 的诗:JOIIJOJOOI。

这首诗中包含一个连续子串 IIJOJO,其中 J、O、I 各自恰好出现 22 次。

由于不存在 J、O、I 各自至少出现 33 次的连续子串,因此输出该子串的长度 66

数据范围

所有输入数据均满足以下条件:

  • 1N2000001 \le N \le 200\,000

子任务

子任务 1 [5 分]

  • 满足 N200N \le 200

子任务 2 [15 分]

  • 满足 N4000N \le 4\,000

子任务 3 [80 分]

无额外限制。

翻译由 Qwen3-235B 完成