Bánh mì và bánh rán

Xem PDF



Dạng bài
Ngôn ngữ cho phép
C, C++, Pypy, Pypy 3, Python
Điểm: 1100 Thời gian: 1.0s Bộ nhớ: 1G Input: DONU.INP Output: DONU.OUT

Mẹ của An đã lên kế hoạch ăn sáng bằng bánh mỳ hoặc bánh rán cho An trong \(n\) ngày (được đánh số từ \(1\) đến \(n\)). Mẹ của An viết một xâu \(s\) độ dài \(n\), trong đó kí tự \(i\) (\(1 \le i \le n\)) là 0 hoặc 1 biểu thị ngày thứ \(i\) sẽ ăn bánh mỳ hoặc bánh rán tương ứng.

An thích ăn bánh rán hơn bánh mỳ, nên anh ta muốn chọn một đoạn gồm \(k\) kí tự liên tiếp trong xâu \(s\) và thay đổi kí tự 0 trong đoạn thành 1. Gọi \(time\) là số ngày liên tiếp dài nhất mà An ăn bánh rán. Hãy giúp An tìm giá trị \(time\) lớn nhất mà anh ta có thể đạt được bằng cách chọn một đoạn hợp lý.

Input

  • Dòng đầu tiên chứa hai số nguyên dương \(n\) và \(k\) (\(1 \le k < n \le 10^6\)).
  • Dòng thứ hai chứa xâu \(s\) độ dài \(n\), chỉ gồm các kí tự 0 và 1.

Output

  • Ghi ra một số nguyên duy nhất là giá trị \(time\) lớn nhất tìm được.

Example

Test 1

Input
13 2
010111000101
Output
5
Note

Chọn đoạn kí tự từ thứ \(2\) đến thứ \(3\) là 10, sau đó thay đổi kí tự thứ \(3\) trong \(s\) thành 1 và \(time\) là \(5\) ngày (đoạn từ vị trí \(2\) đến \(6\) trở thành 11111).

Test 2

Input
6 3
100001
Output
4
Note

Chọn đoạn kí tự từ thứ \(2\) đến thứ \(4\) là 000, sau đó thay đổi tất cả kí tự trong đoạn này thành 1 và \(time\) là \(4\) ngày (đoạn từ vị trí \(1\) đến \(4\) trở thành 1111).

Scoring

  • Có \(30\%\) số test tương ứng với \(30\%\) số điểm thỏa mãn \(1 \le k \le n \le 10^2\).
  • Có \(30\%\) số test khác tương ứng với \(30\%\) số điểm thỏa mãn \(1 \le k \le n \le 10^3\).
  • Có \(40\%\) số test còn lại với \(40\%\) số điểm không có thêm ràng buộc nào.

Bình luận (2)

Mới nhất
Tải bình luận...