题目描述
给定一个 01 序列 b1,b2,…,bn,01 序列的意思就是这个数列里只有 0 与 1。请问最少需要将多少个 1 改成 0,序列里会出现 k 个连续的 0。
输入格式
第一行:两个整数 n 与 k。
第二行:n 个数字,表示 b1,b2,…,bn,保证只出现 0 与 1。
输出格式
输出一个整数:最少需要将多少个 1 改为 0,才会出现 k 个连续的 0。
样例
6 3
1 0 1 0 1 0
1
样例解释
01 序列为 [1,0,1,0,1,0],要求出现 3 个连续的 0。遍历所有长度为 3 的连续子区间:
- 区间第 1 到 3 位(1,0,1):包含 2 个 1,需修改 2 个;
- 区间第 2 到 4 位(0,1,0):包含 1 个 1,修改这个 1 即可;
- 区间第 3 到 5 位(1,0,1):包含 2 个 1,需修改 2 个;
- 区间第 4 到 6 位(0,1,0):包含 1 个 1,修改这个 1 即可。
所有情况中最少需要修改 1 个 1,因此输出 1。
数据范围
- 对于 30% 的数据:1≤k≤n≤20;
- 对于 60% 的数据:1≤k≤n≤2000;
- 对于 100% 的数据:1≤k≤n≤500000。