3785: 修改 01 序列(第一轮03)

内存限制:256 MB 时间限制:1.000 S
评测方式:文本比较 命题人:
提交:1 解决:1

题目描述

长度为 n  的只包含  。   1  的序列,你可以对它进行多次操作。在每次操作中,  你都可以 选择一个数字 0  变成  1,  或者选择一个数字  1  变成  0,使得最终局面满足如下特点:

对于任意相邻的两个  1, 它们在序列中的距离都是 d  的倍数,给定  d,求最小操作次数。 长度为 n  的只包含  0  和  1  的序列,每次操作选一个  0  变  1  或者  1  变  0,使得最终局  面的相邻的两个  1 之间距离是 d  的倍数,问最小操作次数。

输入

第一行输入两个正整数 n, d。

第二行输入 n 个数,表示题目所描述的序列。

输出

输出一个数,表示最小操作次数。

样例输入 复制

5 2
0 1 0 0 1

样例输出 复制

1

提示

【样例 1 输入】

5 2

0 1 0 0 1

【样例 1 输出】

1

【说明】

将任何一个  1  变成  0,这样就没有相邻的  1  了,自然也满足题目要求。

【样例 2 输入】

8 2

1 0 1 0 0 0 1 1

【样例 2 输出】

1

【说明】

将最后一个  1  变成  0,这样序列变为  [1,0,1,0,0,0,1,0], 1  的位置分别是  [1,3,7],其中  1   3  的距离是  2  的倍数, 3  和  7  的距离也是  2  的倍数。

【备注】

对于测试点1: 1 ≤ n ≤  10^5 , d  =  1

对于测试点2~ 3: 1 ≤ n ≤  10^5 , d  =  2

- 对于测试点4~ 5: 1 ≤  d ≤  n  ≤  10^3

- 对于测试点6~ 10: 1 ≤  d ≤  n  ≤  10^5


来源/分类