连续的零
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
给定一个 01 序列 b1,b2…bn,01序列 的意思就是这个数列里只有 0 与 1。请问最少需要将多少个 1 改成 0,序列里会出现 k 个连续的 0。
输入格式
第一行:两个整数 n 与 k。 第二行:n 个数字表示 b1,b2…bn,保证只出现 0 与 1。
数据范围
- 对于 30% 的数据,1≤k≤n≤20;
- 对于 60% 的数据,1≤k≤n≤2000;
- 对于 100% 的数据,1≤k≤n≤500000;
输出格式
单个整数:最少要改多少个 1,才会出现 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个1才能得到连续3个0;
- 区间第2到4位(0、1、0):包含1个1,修改这个1后就能得到连续3个0;
- 区间第3到5位(1、0、1):包含2个1,需修改2个1才能得到连续3个0;
- 区间第4到6位(0、1、0):包含1个1,修改这个1后就能得到连续3个0; 所有情况中最少需要修改1个1,因此输出1。