QOJ.ac

QOJ

時間限制: 1 s 記憶體限制: 256 MB 總分: 100

#1403. JOIOJI

统计

JOIOJI 是 JOI 君的叔父。JOIOJI 很喜欢自己的名字,因为其中 J、O、I 三个字母各出现了 2 次。

最近,JOIOJI 有了孩子。JOIOJI 想给孩子起一个和自己名字一样的名字,即由 J、O、I 组成,且这三个字母出现的次数恰好相等。

JOIOJI 家里有一卷代代相传的卷轴,上面写着一首诗。这首诗是一个长度为 $N$ 的字符串,仅由 J、O、I 三种字符组成。JOIOJI 打算从这首诗中找出一个连续子串作为孩子的名字,要求该子串中 J、O、I 三个字母出现的次数恰好相等,且长度最长。

题目描述

给定 JOIOJI 拥有的卷轴上的诗的信息。请编写一个程序,求出诗中满足 J、O、I 三个字母出现次数恰好相等的连续子串的最大长度。

输入格式

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

  • 第 1 行包含一个整数 $N$,表示卷轴上诗的长度。
  • 第 2 行包含一个长度为 $N$ 的字符串 $S$,表示卷轴上的诗。$S$ 中的每个字符均为 J、O、I 中的一个。

输出格式

输出一个整数,表示诗中满足 J、O、I 三个字母出现次数恰好相等的连续子串的最大长度。如果不存在这样的子串,则输出 0。

数据范围

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

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

子任务

子任务 1 [5 分] * 满足 $N \le 200$。

子任务 2 [15 分] * 满足 $N \le 4\,000$。

子任务 3 [80 分] * 无附加限制。

样例

样例输入 1

10
JOIIJOJOOI

样例输出 1

6

说明 1

在该样例中,卷轴上写着长度为 10 的诗 JOIIJOJOOI。 这首诗中包含连续子串 IIJOJO,其中 J、O、I 各出现了 2 次。由于不存在 J、O、I 各出现 3 次及以上的连续子串,因此输出 IIJOJO 的长度 6。

样例输入 2

8
IOIIJIIO

样例输出 2

0

说明 2

由于诗中不包含满足条件的子串,因此输出 0。

样例输入 3

20
JJIOOIJIJOIOJIOJOOIJ

样例输出 3

15

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.