CF2126B.No Casino in the Mountains

入门

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

给定一个长度为 nn 的数组 aa 和一个数字 kk。数组 aa 的第 ii 天的值 aia_i 描述了当天的天气:如果第 ii 天下雨,则 ai=1a_i = 1;否则,如果天气晴朗,则 ai=0a_i = 0。

Jean 想要尽可能多地登顶。每次登顶需要恰好 kk 天,并且在这 kk 天内,每一天的天气都必须是晴朗的(即 ai=0a_i = 0)。也就是说,Jean 只能在第 ii 天开始登顶,当且仅当对于所有 jj 满足 i≤j≤i+k−1i \leq j \leq i + k - 1,都有 aj=0a_j = 0。

每次登顶后,Jean 必须至少休息一天,也就是说,在完成一次登顶后的第二天,他不能再次开始登顶。

请你计算 Jean 最多能登顶多少次。

输入格式

每组测试数据包含若干组测试用例。第一行包含一个整数 tt(1≤t≤1041 \le t \le 10^4),表示测试用例的组数。接下来是每组测试用例的描述。

每组测试用例的第一行包含两个整数 nn 和 kk(1≤n≤1051 \le n \le 10^5,1≤k≤n1 \le k \le n)。

第二行包含 nn 个数字 aia_i(ai∈{0,1}a_i \in \{0, 1\}),其中 aia_i 表示第 ii 天的天气情况。

保证所有测试用例中 nn 的总和不超过 10510^5。

输出格式

对于每组测试用例,输出一个整数,表示 Jean 最多能登顶多少次。

输入输出样例

  • 输入#1

    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

    输出#1

    3
    2
    0
    0
    2

说明/提示

在第一个样例中:

  • 第 11 天——天气晴朗,Jean 登顶一次(a1=0a_1 = 0)。
  • 第 22 天——强制休息。
  • 第 33 天——再次天气晴朗,Jean 登顶第二次(a3=0a_3 = 0)。
  • 第 44 天——休息。
  • 第 55 天——天气晴朗,第三次登顶(a5=0a_5 = 0)。

因此,Jean 最多可以登顶 33 次,每次登顶之间都要休息一天。

在第二个样例中:

  • 第 11 天到第 33 天——连续三天晴朗,Jean 登顶一次(a1=a2=a3=0a_1 = a_2 = a_3 = 0)。
  • 第 44 天——强制休息。
  • 第 55 天到第 77 天——又是连续三天晴朗,Jean 登顶第二次(a5=a6=a7=0a_5 = a_6 = a_7 = 0)。

总共 Jean 可以登顶 22 次。

在第三个样例中:

  • 没有一天是晴朗的(所有 ai=1a_i = 1)。

Jean 无法登顶,答案为 00。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页