#AT1096. 倒立

倒立

题目描述

NN个人从左到右站成一行。

给定一个长度为 NN 的字符串 SS,字符串由 01组成,并给定一个正整数 KK

如果第 ii个字符是 0,第ii个人站在双脚上; 如果第 ii个字符是 1,第ii个人站在双手上,你最多可以给出 KK 次以下指令 (可以为零)

指令: 选择满足 1lrN1 \leq l \leq r \leq N 的整数llrr,然后将第ll个、第l+1l+1个、...、第rr个人反转。也就是说,对于每个i=l,l+1,...ri= l,l + 1,...r,原来站在双脚上的第ii个人现在站在双手上,原来站在双手上的第ii个人现在站在双脚上。

在最多进行 KK 次指后,找出可能站在双手上的连续人数的最大可能值.

输入

第一行两个整数N,KN,K

第二行表示输入的字符串SS

输出

打印在最多进行 KK 次指令后可能站在双手上的连续人数的最大可能值。

5 1
00010
4

样例解释

通过以下的指令我们可以使得连续站在双手上的人数最多,结果为 4:

给出指令 l=1,r=3l = 1,r=3,即将从第一个到第三个人反转.

14 2
11101010110011
8
1 1
1
1

样例解释

不需要进行任何指令。

提示

1N105 1 \leq N \leq 10^5

1K1051 \leq K \leq 10^5

字符串SS的长度是NN

字符串SS的每个字符是01