题目描述
在仅包含0和1的数组A中,一次K位翻转包括选择一个长度为K的(连续)子数组,同时将子数组中的每个0更改为1,而每个1更改为0。返回所需的K位翻转的最小次数,以便数组没有值为0的元素。
如果不可能,返回-1。
输入
第一行两个整数n(n<=1000)和k(k<=n)
接下来n个数,不是0就是1
输出
返回所需的K位翻转的最小次数,以便数组没有值为0的元素。
如果不可能,返回-1。
提示
样例解释:
翻转 A[0],A[1],A[2]: A变成 [1,1,1,1,0,1,1,0]
翻转 A[4],A[5],A[6]: A变成 [1,1,1,1,1,0,0,0]
翻转 A[5],A[6],A[7]: A变成 [1,1,1,1,1,1,1,1]
样例2:
3 1
0 1 0
输出:2
样例3:
3 2
1 1 0
输出:-1