D. 灯带维修

    传统题 1000ms 256MiB

灯带维修

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

灯带维修

题目背景

一条灯带上有许多小灯,有些小灯已经损坏,需要维修员进行修理。

现在维修员想尽量修出一段更长的连续正常灯带。

题目描述

有一条长度为 nn 的灯带,从左到右编号为 1,2,,n1,2,\dots,n

每盏灯只有两种状态:

  • 1 表示这盏灯正常;
  • 0 表示这盏灯损坏。

给定一个长度为 nn 的字符串 ss,表示整条灯带的状态。

维修员最多可以修好 kk 盏损坏的灯。现在他想选出一段连续的灯带,并修好这一段中损坏的灯,使得这一整段灯带都变为正常。

请你求出,在最多修好 kk 盏损坏灯的前提下,可以得到的最长连续正常灯带长度。

如果无法得到任何一盏连续正常的灯,答案为 00

输入格式

第一行输入两个整数 n,kn,k,表示灯带长度和最多可以修好的损坏灯数量。

第二行输入一个长度为 nn 的字符串 ss,字符串仅由字符 01 组成。

输出格式

输出一个整数,表示可以得到的最长连续正常灯带长度。

如果无法得到任何一盏连续正常的灯,输出 00

输入输出样例 #1

输入 #1

12 2
101101001111

输出 #1

7

输入输出样例 #2

输入 #2

8 0
11101110

输出 #2

3

输入输出样例 #3

输入 #3

5 0
00000

输出 #3

0

说明/提示

对于样例 #1,可以选择第 66 到第 1212 盏灯,这一段为:

1001111

其中有 22 盏损坏的灯,修好后这一段长度为 77,可以全部变为正常。

对于样例 #2,不能修理任何损坏的灯,所以答案就是原字符串中最长连续 1 的长度,为 33

对于样例 #3,不能修理任何损坏的灯,且原灯带中没有正常的灯,所以答案为 00

数据范围

  • 1n2×1051 \le n \le 2 \times 10^5
  • 0kn0 \le k \le n
  • si0,1s_i \in {0,1}

【睿爸信奥】语法周赛(20260502)

未参加
状态
已结束
规则
IOI
题目
4
开始于
2026-5-2 0:00
结束于
2026-5-9 0:00
持续时间
2 小时
主持人
参赛人数
11