#381. [R61C]灯

[R61C]灯

时空限制

1S/512M

题目描述

nn 盏灯排成一行。第 ii 盏灯的初始状态由一个长度为 nn 的字符串 SS 中的第 ii 个字符表示:

  • o:表示这盏灯当前处于亮起状态。
  • x:表示这盏灯当前处于熄灭状态。

你可以执行以下操作至多一次(也可以选择不执行):选择一个长度不超过 mm 的连续区间,并将该区间内的所有灯都点亮。

请你计算并输出,经过操作后最多能有多少盏灯处于亮起状态。

格式

输入格式

第一行包含两个正整数 nnmm,分别表示灯的总数和允许操作的最大连续区间长度。

第二行包含一个长度为 nn 的字符串 SS,表示所有灯的初始状态。

输出格式

输出一行一个整数,表示经过至多一次操作后,最多可以亮起的灯的数量。

样例

样例输入 #1

10 4
oxxxooxxxo

样例输出 #1

7

样例解释 #1

初始时共有 44 盏灯亮着。

如果你选择对第 11 到第 44 盏灯进行操作(操作区间长度为 44,不超过 mm),可以将区间内的 x 全部变为 o。操作后字符串变为 ooooooxxxo

此时共有 77 盏灯亮起。可以证明不存在让更多灯亮起的操作方案,因此答案为 77

样例输入 #2

6 3
oooooo

样例输出 #2

6

样例解释 #2

所有的灯初始时就已经全部亮起。你可以选择不进行任何操作,最终亮起的灯数量为 66

样例输入 #3

7 7
xxxxxxx

样例输出 #3

7

样例解释 #3

你可以直接选择整个长为 77 的区间进行操作,将所有灯全部点亮,最终亮起的灯数量为 77

数据规模

注意:你只有通过了子任务的所有测试点,才能获得对应子任务的分数。

子任务编号 分数 nn \le
11 4040 10001000
22 6060 2×1052 \times 10^5

对于 100%100\% 的数据,保证 1mn2×1051 \le m \le n \le 2 \times 10^5,字符串 SS 的长度为 nn 且仅由字符 ox 组成。