#B. 修水表

    Type: Default 1000ms 256MiB

修水表

You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.

题目描述

小 Z 同学喜欢查水表,这一天他来到了一条有 NN 个排成一列的水表的街道查水表。

经过鉴定,他发现有一些水表损坏了。其中水表的情况用 0101 串来表示,00 表示水表没有损害,11 表示水表损坏了。

  • 例如,01010101 表示从左往右分别表示没有损坏的水表、损坏的水表、没有损坏的水表、损坏的水表。

小 Z 每次可以修复一段长度为 LL 的连续的水表(LL 覆盖的范围可以超出地图)。

小 Z 希望最多使用 KK 次修复操作就可以将所有损坏的水表全部修复完成。他想知道能够达到这个目的的 LL 最小值是多少。

输入格式

输入共两行。

11 行:22 个整数,N,KN, K

22 行:110101 串,0101 串长度为 N。

输出格式

输出共一行,11 个整数,表示 LL 的最小值。

样例 #1

样例输入 #1
10 3
0101111011
样例输出 #1
3

样例 #2

样例输入 #2
5 1
11000
样例输出 #2
2

提示

【样例解释】

  • 对于样例 11LL 的最小值为 33,即每次修复长度为 33 的连续水表,修复过程为 $0101111011 \rightarrow 0000111011 \rightarrow 00000000011 \rightarrow \rightarrow 0000000000$

  • 对于样例 22LL 的最小值为 22,即每次修复长度为 22 的连续水表,修复过程为 110000000011000 \rightarrow 00000

【数据范围】

对于前 20%20\% 的数据,1N,K501 \le N,K \le 50

对于前 40%40\% 的数据,1N,K5,0001\le N,K \le 5,000

对于另外 10%10\% 的数据,保证 K=1K = 1

对于另外 10%10\% 的数据,保证 K=NK=N

对于 100%100\% 的数据,1N,K500,0001 \le N,K \le 500,000

入门B组(13)——CSP-J第二轮复习(3)

Not Claimed
Status
Done
Problem
4
Open Since
2025-5-4 14:30
Deadline
2025-5-12 23:59
Extension
24 hour(s)