#8338. 修水表

0

修水表

题目描述

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

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

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

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

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

输入格式

输入共两行。

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

第 22 行:11 个 0101 串,0101 串长度为 N。

输出格式

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

10 3
0101111011
3
5 1
11000
2

提示

【样例解释】

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

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

【数据范围】

对于前 20%20\% 的数据,1≤N,K≤501 \le N,K \le 50。

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

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

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

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