AT_abc332_c [ABC332C] T-shirts

题目描述

AtCoder 社正在销售[带有 Logo 的 T 恤](https://suzuri.jp/AtCoder/5510290/t-shirt/s/ash)。 高桥君的 $N$ 天的日程安排由一个仅包含 `0`、`1`、`2` 的长度为 $N$ 的字符串 $S$ 给出。 具体来说,对于满足 $1 \leq i \leq N$ 的整数 $i$: - 当 $S$ 的第 $i$ 个字符为 `0` 时,第 $i$ 天没有任何安排。 - 当 $S$ 的第 $i$ 个字符为 `1` 时,第 $i$ 天高桥君有外出吃饭的计划。 - 当 $S$ 的第 $i$ 个字符为 `2` 时,第 $i$ 天高桥君有参加竞赛编程活动的计划。 高桥君拥有 $M$ 件无印 T 恤,并且在第 $1$ 天开始前,这些 T 恤都已经洗净。 此外,为了能够满足以下条件,高桥君可以购买若干件带有 AtCoder Logo 的 T 恤: - 外出吃饭的日子,需要穿一件无印 T 恤或一件带 Logo 的 T 恤。 - 参加竞赛编程活动的日子,必须穿一件带 Logo 的 T 恤。 - 没有安排的日子不需要穿 T 恤,并且此时会把已经穿过的所有 T 恤都洗净。洗净后的 T 恤从第二天起可以再次穿。 - 一件 T 恤在下次洗净之前不能再次穿。 请计算,为了保证在 $N$ 天内所有有安排的日子都能满足上述条件,高桥君最少需要购买多少件带 Logo 的 T 恤。如果不需要购买新的 T 恤,则输出 $0$。 注意,新购买的 T 恤在第 $1$ 天开始前也都已经洗净。

输入格式

输入以如下格式从标准输入读入: > $N$ $M$ $S$

输出格式

请输出为了满足题目条件,高桥君最少需要购买的带 Logo 的 T 恤数量。如果不需要购买新的 T 恤,则输出 $0$。

说明/提示

## 限制条件 - $1 \leq M \leq N \leq 1000$ - $S$ 是一个仅包含 `0`、`1`、`2` 的长度为 $N$ 的字符串 - $N, M$ 均为整数 ## 样例解释 1 当高桥君购买了 $2$ 件带 Logo 的 T 恤时,可以如下安排穿着: - 第 $1$ 天,高桥君穿带 Logo 的 T 恤去吃饭。 - 第 $2$ 天,高桥君穿无印 T 恤去吃饭。 - 第 $3$ 天,高桥君穿带 Logo 的 T 恤去参加竞赛编程活动。 - 第 $4$ 天没有安排,因此将第 $1,2,3$ 天穿过的 T 恤全部洗净,可以再次穿。 - 第 $5$ 天,高桥君穿带 Logo 的 T 恤去参加竞赛编程活动。 - 第 $6$ 天,高桥君穿带 Logo 的 T 恤去参加竞赛编程活动。 如果高桥君只购买 $1$ 件或更少的带 Logo 的 T 恤,则无法满足所有条件。 因此,输出 $2$。 ## 样例解释 3 高桥君不需要购买新的 T 恤。 由 ChatGPT 4.1 翻译