/* ID: espr1t TASK: KEYWORDS: */ #include #include #include #include #include using namespace std; FILE* in = stdin; FILE* out = stdout; const int MAX = 1000001; int n, l, k; char a[MAX]; int main(void) { in = fopen("substring.in", "rt"); out = fopen("substring.out", "wt"); fscanf(in, "%s", a); n = (int)strlen(a); fscanf(in, "%d %d", &l, &k); int cnt = 0; for (int i = 0; i < l; i++) cnt += (a[i] == '0'); bool okay = cnt >= k; for (int i = l; i < n; i++) { cnt -= (a[i - l] == '0'); cnt += (a[i] == '0'); okay &= cnt >= k; } fprintf(out, "%s\n", okay ? "Yes" : "No"); return 0; }