编程题
### 问题描述
大衣有一个长度为 $N$ 的二进制字符串 $S$ 和一个整数 $K$,他可以对该字符串进行如下操作:
- 选择字符串 $S$ 的一段前缀,然后将该前缀的所有字符翻转。翻转操作是将字符 $0$ 变为 $1$,字符 $1$ 变为 $0$。
大衣想让最终的字符串包含一个长度为 $K$ 的子串,并且该子串的所有字符都为 $1$,请你找出满足条件的最小的操作次数。
### 输入格式
第一行输入一个正整数 $T$ 表示测试数据的组数。
接下来 $T$ 组测试数据每组输入两行:
- 第一行输入两个正整数 $N,K$ 分别表示字符串的长度和字符全为 $1$ 的子串的长度。
- 第二行输入一个长度为 $N$ 的二进制字符串 $S$。
### 输出格式
对于每组测试数据,输出满足条件的最小的操作次数,并换行。
### 样例输入
```text
3
3 3
000
4 2
0110
5 3
10101
```
### 样例输出
```text
1
0
2
```
### 说明
样例 $1$:我们需要得到一个长度为 $3$ 的仅包含字符 $1$ 的子串,可以选择前缀 $S[1,3]$,然后将其翻转,字符串 $S$ 变成 $111$,此时子串 $S[1,3]$ 已经满足题目要求。
样例 $2$:字符串 $S=0110$ 已经包含一个长度为 $2$ 且仅包含字符 $1$ 的子串,故不需要操作。
样例 $3$:我们需要得到一个长度为 $3$ 的仅包含字符 $1$ 的子串,可以进行以下 $2$ 次操作:
- 选择前缀 $S[1,4]$,然后将其翻转,字符串 $S$ 变成 $01011$。
- 选择前缀 $S[1,3]$,然后将其翻转,字符串 $S$ 变成 $10111$。
此时子串 $S[3,5]$ 已经满足题目要求,可以证明没有比 $2$ 更小的操作次数。
### 评测数据规模
对于所有的评测数据,$1\le T\le 20$,$1\le K\le N\le 10^4$,二进制字符串 $S$ 仅包含字符 $0$ 和 $1$。