度度熊剪纸条
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 1788 Accepted Submission(s): 318
Problem Description
度度熊有一张纸条和一把剪刀。 纸条上依次写着 N 个数字,数字只可能是 0 或者 1。度度熊想在纸条上剪 K 刀(每一刀只能剪在数字和数字之间),这样就形成了 K+1 段。他再把这 K+1 段按一定的顺序重新拼起来。不同的剪和接的方案,可能会得到不同的结果。度度熊好奇的是,前缀 1 的数量最多能是多少。
Input
有多组数据,读到EOF结束。 对于每一组数据,第一行读入两个数 N 和 K 。第二行有一个长度为 N 的字符串,依次表示初始时纸条上的 N 个数。0≤K<N≤10000所有数据 N 的总和不超过100000
Output
对于每一组数据,输出一个数,表示可能的最大前缀 1 的数量。
Sample Input
5 1 11010 5 2 11010
Sample Output
2 3
Source
Recommend
chendu | We have carefully selected several similar problems for you:
分析:求可能的最大前缀,首先我们把所有连续的1分离出来,考虑分离中间的连续1我们要进行两次操作,分离最前面和最后面的连续的1只要一次操作
当k大于2的时候,我们直接加上最大的连续的1,当k<=2时,特判分离需要1次和两次的和的较大值
AC代码:
#include