BÁNH MÌ VÀ BÁNH RÁN

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ự thứ \(i\ (1 \leq i \leq 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 mỗi kí tự ‘0’ trong đoạn này 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. Bạn hãy giúp An tìm giá trị \(time\) lớn nhaasts mà anh ta có thể đạt được bằng cách chọn một đoạn hợp lý.

Dữ liệu vào:

+ Dòng đầu tiên ghi hai số nguyên dương \(\ n,k\ (1 \leq k \leq n \leq 10^{6})\)

+ Dòng thứ hai ghi xâu \(s\) độ dài \(n\) chỉ gồm các ký tự ‘0’ và ‘1’

Kết quả:

+ Ghi một số nguyên duy nhất là giá trị \(time\) lớn nhất.

Ví dụ:

Input Output Input Output
13 2
0101110000101
5 6 3
100001
4

Giải thích ví dụ:

Trong ví dụ thứ nhất, An cần chọn đoạn ký tự từ thứ 2 đến thứ 3 là “10”, sau đó thay đổi kí thự thứ 3 trong \(s\) thành ‘1’ và \(time\) là 5 ngày, từ ngày 2 đến ngày 6;

Trong ví dụ thứ hai, An cần chọn đoạn ký tự từ thứ 2 đến thứ 4 là “000”, sau đó thay đổi tất cả các kí tự trong đoạn này từ ‘0’ thành ‘1’ và \(time\) là 4 ngày: Từ ngày 1 đến ngày từ 4

Ràng buộc:

+ Có 30% số test tương ứng 30% số điểm có \(1 \leq k \leq n \leq 100\);

+ Có 30% số test khác tương ứng 30% số điểm có \(1 \leq k \leq n \leq 1000\);

+ Có 40% số test còn lại tương ứng 40% số điểm không có ràng buộc gì thêm.

Bạn cần đăng nhập để nộp bài

hpcode.edu.vn
Code tích cực
Trong 24h
  1. npk1605 (5/10)
  2. hungeazy08 (4/26)
  3. trungnam (2/2)
Trong 7 ngày
  1. nguyenanhvu (40/64)
  2. khieuquan (35/59)
  3. ngokhang (27/55)
Trong 30 ngày
  1. quechi (85/105)
  2. dangphong3108 (79/125)
  3. kiennhientv (79/179)
Thống kê
AC/Sub: 97887/180710
Pascal: 17121
C++: 130348
Python: 33199
Lượt xem/tải tests: 38905

Lưu Hải Phong - 2020
[email protected]