比赛 东方幻想乡 S3 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 比那名居天子 最终得分 100
用户昵称 Truth.Cirno 运行时间 0.019 s
代码语言 C++ 内存使用 1.24 MiB
提交时间 2012-08-09 20:00:08
显示代码纯文本
#include <cstdio>
using namespace std;

char str[500005];
bool a[500005];

int main(void)
{
	freopen("tenshi.in","r",stdin);
	freopen("tenshi.out","w",stdout);
	int i,n,k,kt,l,r,mid;
	bool una;
	scanf("%d %d\n%s\n",&n,&k,&str);
	for (i=0;i<n;i++)
		a[i+1]=str[i]-'0';
	l=0;
	r=n;
	mid=n/2;
	while (l<r)
	{
		una=false;
		kt=k;
		for (i=1;i<=n;)
		{
			if (a[i]==1)
			{
				i+=mid;
				kt--;
				if (kt<0)
				{
					una=true;
					break;
				}
			}
			else
				i++;
		}
		if (una)
			l=mid+1;
		else
			r=mid;
		mid=(l+r)/2;
	}
	printf("%d\n",mid);
	return(0);
}