留下的墨点必须仍按原顺序排成「浅色段 + 深色段 + 浅色段」,三段都允许为空。同一种颜色在自己那一段里全部留下不会更差,所以只要决定深色段覆盖原条码的哪一段下标。
质检台送来一条双色墨点条码。每颗墨点要么是浅色,要么是深色:浅色记成字母 a,深色记成字母 b。
把一条条码叫作合格条码,意思是它能从左到右切成三段相接的部分,并且:
靠前那一段里,出现过的墨点全都是浅色 a
正中那一段里,出现过的墨点全都是深色 b
靠后那一段里,出现过的墨点全都是浅色 a
三段都允许一颗墨点都没有。
换种说法:浅色只能堆在深色块的两侧,深色自己连成中间那一块。
质检员可以擦掉任意几颗墨点,一颗都不擦也行。擦完以后,留下的墨点还得保持原来从左往右的相对次序。请算出擦完后,合格条码最多能留下几颗墨点。
墨点个数 m 满足 1≤m≤5000。
第一行一个整数 m(1≤m≤5000),表示墨点个数。
第二行一个长度为 m 的字符串 t,只含字符 a 和 b。t 的第 j 个字符就是从左数第 j 颗墨点。
输出一行一个整数,表示擦完之后合格条码最多能留下的墨点数。
输入
6
bbaaba
输出
5
说明
条码是 bbaaba。擦掉从左数第 5 颗深色墨点,剩下 bbaaa。靠前一段是空的,正中一段是 bb,靠后一段是 aaa,一共 5 颗。六颗全留会在两截深色之间夹进浅色,不算合格。
输入
5
ababa
输出
4
说明
条码是 ababa。擦掉从左数第 4 颗深色墨点,剩下 abaa。靠前一段是 a,正中一段是 b,靠后一段是 aa,一共 4 颗。五颗全留时,两颗深色之间还夹着浅色,不能当成一段合格条码。
Scan the QR code below with WeChat to sign in
First-time scan will create your account automatically
请使用微信扫描下方二维码完成注册