A59008.午枫的又一个01串
普及/提高-
官方
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
小枫有一个长度为 n 的 01 串 s ,这个 01 串从左往右的第 i 个数为 si ,小午可以对这个 01 串做最多 m 次操作:
- 选择一段区间 [l,r] 满足 1≤l<r≤n,sl=0,sr=1 。
- 对于这段区间的每一位 si(l≤i≤r) ,将其变为 si⊕1 ,其中 ⊕ 表示按位异或。
定义一个 01 串的度为相邻两位不同的个数。形式化的,对于 1≤i≤n−1 ,满足 si=si+1 的个数为 01 串的度。
小枫想知道小午通过操作最多 m 次后,在所有能得到的字符串中最小的度为多少。
输入格式
第一行输入两个整数 n,m (1≤n,m≤106) ,分别表示 01 串的长度以及最多操作次数。
第二行输入一个长度为 n 的 01 串 s ,表示初始的 01 串。
输出格式
输出一个整数,表示在所有能得到的字符串中,最小的度。
输入输出样例
输入#1
8 1 10111001
输出#1
2
说明/提示
样例解释
选择区间 [2,5] ,原串变为 11000001
,此串的度为 2 。没有方法可以得到度更少的 01 串。