比赛 |
东方幻想乡 S3 |
评测结果 |
WTWAAAAAWAAAAAAAAAAA |
题目名称 |
比那名居天子 |
最终得分 |
80 |
用户昵称 |
王者自由 |
运行时间 |
1.088 s |
代码语言 |
C++ |
内存使用 |
0.77 MiB |
提交时间 |
2012-08-09 19:25:36 |
显示代码纯文本
#include <cstdio>
const int N = 500000 + 10;
int n, k, l, r, m;
char c;
bool a[N];
bool OK(int x) {
int s = 0, i = 1;
while(i <= n)
if(a[i]) s++, i += x; else i++;
return s <= k;
}
int main() {
freopen("tenshi.in", "r", stdin);
freopen("tenshi.out", "w", stdout);
scanf("%d %d", &n, &k);
for(int i=1; i<=n; i++) {
scanf("%c", &c);
a[i] = c - '0';
}
l = 0, r = n;
while(l <= r) {
m = (l + r) / 2;
//fprintf(stderr, "%d (%d) %d\n", l, m, r);
OK(m) ? r = m-1 : l = m+1;
}
printf("%d\n", l);
return 0;
}