#219. AKIOI
AKIOI
题目描述
有一个字符串 A,长度为 K,仅包含大写字母 ‘O’、‘I’ 两种字符。
现在要找 A 的一个子段,使得该子段中含有的 ‘I’ 的个数恰好是 ‘O’ 的个数的 2 倍。
请你找出满足条件的最长的一个子段,输出它的长度。如果找不到满足条件的子段,则输出整数 0。
所谓子段,是指由原字符串中连续的一段字符构成的字符串。注意:字符串本身也是自己的一个子段。
输入
第一行:包含一个整数 K
第二行:一个长度为 K 的字符串 A,仅包含大写字母 O、I 两种字符。
输出
一个整数,表示满足条件的最长子段的长度。
样例1输入
10
IOIOIOIIOI
样例1输出
6
样例1解释
样例给出的字符串为:IOIOIOIIOI,其中第 3 ~ 8 个字符组成的子段 IOIOII 满足条件,该子段的长度为 6。
另外,第 5 ~ 10 个字符组成的子段 IOIIOI 也满足条件,长度也为 6。
你找不到更长的满足条件的子段。
样例2输入
6
OOIOOI
样例2输出
0
样例2解释
样例给出的字符串为:OOIOOI,找不到满足条件的子段。
样例3输入
22
IOOOIIOIIIOOOIIIIIIOOI
样例3输出
18
数据范围
10% 的数据:1 ≤ K ≤ 200
30% 的数据:1 ≤ K ≤ 2 × 10^3
60% 的数据:1 ≤ K ≤ 2 × 10^5
100% 的数据:1 ≤ K ≤ 2 × 10^7,数据保证输入字符串仅包含大写字母 O、I 两种字符。
提示
本题有的测试点数据量较大,请使用较快的读取方式。