#CF2126B. 山里没有赌场

山里没有赌场

每次测试的时间限制:11
每次测试的内存限制:256256 兆字节

题目描述

给你一个长度为 nn 的数组 aa 和一个整数 kk。数值 aia_i 表示第 ii 天的天气:如果第 ii 天是雨天,则 ai=1a_i = 1;否则,如果天气晴朗,则 ai=0a_i = 0

Jean 想要尽可能多地攀登山峰。一次登山恰好需要 kk 天,并且在这 kk 天中,每一天的天气都必须是晴朗的(ai=0a_i = 0)。
形式化地说,他可以在第 ii 天开始一次登山,当且仅当对于所有 jj 满足 iji+k1i \le j \le i + k - 1,都有 aj=0a_j = 0

每次登山结束后,在开始下一次登山之前,Jean 必须至少休息一天,也就是说,在登山结束的后一天,他不能立即开始另一次登山。

求 Jean 最多可以攀登的山峰次数。

输入格式

每个测试包含多个测试用例。第一行一个整数 tt1t1041 \le t \le 10^4)——测试用例数。
每个测试用例的第一行包含两个整数 nnkk1n1051 \le n \le 10^51kn1 \le k \le n)。
第二行包含 nn 个整数 aia_iai{0,1}a_i \in \{0,1\}),表示第 ii 天的天气。
保证所有测试用例的 nn 之和不超过 10510^5

输出格式

对于每个测试用例,输出一个整数:Jean 最多可以完成的登山次数。

5
5 1
0 1 0 0 0
7 3
0 0 0 0 0 0 0
3 1
1 1 1
4 2
0 1 0 1
6 2
0 0 1 0 0 0
3
2
0
0
2

数据规模与约定

第一个样例:
11 天天气晴朗,Jean 开始一次登山(a1=0a_1=0)。
22 天强制休息。
33 天再次晴朗,开始第二次登山(a3=0a_3=0)。
44 天休息。
55 天晴朗,开始第三次登山(a5=0a_5=0)。
因此 Jean 可以完成 33 次登山,每次登山后强制休息一天。

第二个样例:
11 天到第 33 天连续三天晴朗,Jean 开始一次登山。
44 天休息。
55 天到第 77 天再次连续三天晴朗,开始第二次登山。
总共 22 次登山。

第三个样例:
没有晴朗天气(所有 ai=1a_i=1),无法进行任何登山,答案为 00