4107: 需要准备几件T恤衫?

内存限制:1024 MB 时间限制:2.000 S
评测方式:文本比较 命题人:
提交:1 解决:1

题目描述

# T-shirts ## 题目描述 小高有一个为期 N 天的日程安排,用一个长度为 N 的字符串 S 表示。其中: - 如果第 i 天的字符是 '0',表示那天没有安排; - 如果是 '1',表示那天计划外出就餐; - 如果是 '2',表示那天计划参加编程比赛。 小高有 M 件普通T恤,在第一天之前都是洗好可以穿的。为了满足以下条件,他还需要购买一些带AtCoder标志的T恤: - 外出就餐时,他会穿普通T恤或带标志的T恤。 - 参加编程比赛时,他必须穿带标志的T恤。 - 没有安排的日子,他不会穿T恤。同时他会洗所有到那时为止穿过的T恤,从第二天开始可以再次穿这些T恤。 - 一件T恤穿过后,在洗之前不能再穿。 请计算小高最少需要购买多少件带标志的T恤,才能在这 N 天内满足所有条件。如果不需要购买新T恤,输出 0。

输入

## 输入格式 输入从标准输入中给出,格式如下: ``` N M S ```

输出

## 输出格式 输出小高需要购买的最少T恤数量。如果不需要购买新T恤,输出0。

样例输入 复制

6 1
112022

样例输出 复制

2

提示

## 输入输出样例 ### 输入样例1 ``` 6 1 112022 ``` ### 输出样例1 ``` 2 ``` ### 输入样例2 ``` 3 1 222 ``` ### 输出样例2 ``` 3 ``` ### 输入样例3 ``` 2 1 01 ``` ### 输出样例3 ``` 0 ``` ## 数据范围与提示 【样例说明1】 如果小高购买两件带标志的T恤,他可以按以下方式穿T恤: - 第一天,他穿一件带标志的T恤外出就餐。 - 第二天,他穿一件普通T恤外出就餐。 - 第三天,他穿一件带标志的T恤参加编程比赛。 - 第四天,他没有安排,所以他洗了所有穿过的T恤。这样他就可以重新使用第一、二、三天穿过的T恤。 - 第五天,他穿一件带标志的T恤参加编程比赛。 - 第六天,他穿一件带标志的T恤参加编程比赛。 如果他购买一件或更少的带标志T恤,无论如何都无法满足条件。因此,输出 2。 【样例说明3】 他不需要购买新的T恤。 【数据范围】 $1 ≤ M ≤ N ≤ 1000$,S 是一个长度为 N 的字符串,只包含 '0'、'1' 和 '2',N 和 M 都是整数。 ## 题目来源 ABC332C