#ACM0016. 超级马里奥

超级马里奥

题目描述

马里奥首先站在一个水平直线上,记录它所在起点位置为 00 ,你可以进行操作使马里奥进行移动(AA 表示从当前位置向左走,DD 表示从当前位置向右走)。

现在你想要选择连续的指令子串并且执行它们,目标是希望马里奥可以通过这个连续的指令子串经过点 xx 。那么有多少种可行的方案呢?

输入格式

第一行 33 个整数 nn (1n2×1051\le n \le 2\times 10^5),xx (105x105-10^5\le x \le 10^5),表示指令的长度和需要经过的点。

接下来包含一个长度为 nn 的字符串,由 A,DA,D 组成,分别代表向左走、向右走。

输出格式

输出一个整数,代表连续子串的选择方案数。

输入样例1

4 1
AADD

输出样例1

4

输入样例2

4 0
AADD

输出样例2

10

提示

对于样例一:

可以选择的操作子串有:A2D3D4A_2D_3D_4D3D4D_3D_4D3D_3D4D_444 个。

对于样例二:

任何操作子串都可以经过 00 这个点,因为它是起点。