1 条题解
-
0
C++ :
#include <bits/stdc++.h> using namespace std; string s; int n, k; int check(int l) { int cnt = 0; for (int i = 0; i < n; i++) { if (s[i] == '1') { i += l - 1; cnt++; } } return cnt <= k; } int main() { // freopen("test1.in","r",stdin); cin >> n >> k >> s; int f = 1; for (int i = 0; i < s.size(); i++) { if (s[i] == '1') { f = 0; break; } } if (f) { cout << 0 << "\n"; return 0; } int l = 1, r = n, ans = 1; while (l <= r) { int mid = (l + r) / 2; if (check(mid)) r = mid - 1, ans = mid; else l = mid + 1; } cout << ans; return 0; }
- 1
信息
- ID
- 534
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- (无)
- 递交数
- 0
- 已通过
- 0
- 上传者