AT_abc430_c [ABC430C] Truck Driver

题目描述

> 在 AtCoder Country,有一项规定:“卡车司机在连续驾驶满 $A$ 分钟或以上后,必须休息至少 $B$ 分钟。” 给定一个长度为 $N$ 的字符串 $S$(仅由 `a` 和 `b` 组成),以及两个正整数 $A$ 和 $B$。求满足以下所有条件的整数对 $(l,r)$ 的个数。 - $1 \leq l \leq r \leq N$。 - $S$ 的第 $l$ 个字符到第 $r$ 个字符组成的子串中,`a` 的数量不少于 $A$。 - $S$ 的第 $l$ 个字符到第 $r$ 个字符组成的子串中,`b` 的数量少于 $B$。

输入格式

输入从标准输入读入,格式如下: > $N\ A\ B\ S$

输出格式

请输出答案。

说明/提示

### 样例解释 1 满足条件的 $(l,r)$ 对有 $(4,8)、(4,9)、(5,9)$,共 $3$ 对。 ### 样例解释 2 没有满足条件的 $(l,r)$ 对。 ### 数据范围 - $1 \leq N \leq 3\times 10^5$ - $1 \leq A,B \leq N$ - $S$ 是仅由 `a` 和 `b` 组成的长度为 $N$ 的字符串。 - 所有输入均为整数。 由 ChatGPT 5 翻译