AT_abc124_d [ABC124D] Handstand

题目描述

有一个长为 $n$ 的字符串 $s$,只含 $0$ 和 $1$。 你可以进行最多 $k$ 次如下操作($0$ 次也可以): - 选择字符串 $s$ 的一个子串,将其中的字符反转($0$ 变成 $1$,$1$ 变成 $0$)。 进行不超过 $k$ 次操作后,求最长的连续的 $1$ 的长度。

输入格式

第一行,$2$ 个正整数 $n,k$; 第二行,字符串 $s$。

输出格式

输出不超过 $k$ 次操作后,最长的连续的 $1$ 的长度。 ### 数据约定 对于 $100\%$ 的数据:$1 \le n, k \le 10^5$。 字符串 $s$ 只由 $0$ 和 $1$ 组成,长度为 $n$。

说明/提示

### 制約 - $ N $ は $ 1\ \leq\ N\ \leq\ 10^5 $ を満たす整数である。 - $ K $ は $ 1\ \leq\ K\ \leq\ 10^5 $ を満たす整数である。 - 文字列 $ S $ の長さは $ N $ である。 - 文字列 $ S $ の各文字は `0` または `1` である。 ### Sample Explanation 1 以下のように指示を行えば逆立ちした人を連続して $ 4 $ 人並ばせることができ、これが最大です。 - $ l\ =\ 1,\ r\ =\ 3 $ として指示を行う。その結果、左から $ 1,\ 2,\ 3 $ 番目の人の状態が反転する。 ### Sample Explanation 3 一度も指示を行う必要はありません。