#D0882. 补给站

补给站

题目描述

小 C 负责管理一条机器人装配线。

装配线上共有 NN 个位置,相邻位置之间的距离均为 11。每个位置上放置的是一台机器人(用 P 表示)或一块电池(用 H 表示)。

每台机器人最多可以领取一块与自己距离不超过 KK 的电池(电池在左侧或右侧均可),每块电池最多只能被一台机器人领取。

给定装配线的情况,请计算最多能让多少台机器人获得电池。

输入格式

第一行包含两个整数 NNKK,分别表示装配线长度和机器人可领取电池的最大距离。

第二行包含一个长度为 NN 的字符串,仅由字符 HP 组成。

输出格式

输出一个整数,表示最多能够获得电池的机器人数量。

样例

20 1
HHPHPPHHPPHPPPHPHPHP
8
20 2
HHHHHPPPPPHPHPHPHHHP
7

样例解释

  • 样例 1:K=1K=1,机器人只能匹配相邻位置的电池。前 1010 个位置为 HHPHPPHHPP,匹配过程:位置 33P 取位置 22H;位置 55P 取位置 44H;位置 66P 取位置 77H;位置 99P 取位置 88H;位置 1010P 取位置 1111H。在后续位置中还有 33 对匹配,合计 88 台机器人获得电池。
  • 样例 2:K=2K=2,搜索范围扩大到左右各 22 格,部分机器人可匹配到更远的电池,但仍有机器人无法匹配,最终 77 台获得电池。

数据范围与约定

子任务 分值 限制
11 3030 N20N \le 20
22 7070 1N2×1041 \le N \le 2 \times 10^4

对于 100%100\% 的数据,1N2×1041 \le N \le 2 \times 10^41K101 \le K \le 10