An là chủ nhiệm của câu lạc bộ (CLB) Sống Xanh nơi mình sinh sống. Nhân dịp lễ Giáng sinh và chuẩn bị đón tết Nguyên đán, CLB phát động chiến dịch "Xanh quê hương" với nhiều hoạt động có ý nghĩa nhằm tạo môi trường Xanh - Sạch - Đẹp. Hoạt động đầu tiên trong chiến dịch là thực hiện trồng một hàng cây chạy dọc theo một tuyến đường.
Trên tuyến đường đã được đánh dấu ~n~ vị trí cách đều nhau để trồng cây, trong đó có một số vị trí đã được trồng cây từ trước. CLB gồm An và ~k~ thành viên sẽ trồng ~k + 1~ cây vào ~k + 1~ vị trí trống (mỗi người trồng một cây). Để thuận tiện quản lí, An muốn tìm một vị trí trồng cây của mình và vị trí của ~k~ thành viên, sao cho khoảng cách từ vị trí thành viên xa nhất đến vị trí của An là ngắn nhất.
Yêu cầu
Hãy lập trình giúp An xác định giá trị nhỏ nhất của khoảng cách từ vị trí thành viên xa nhất đến vị trí của An.
Dữ liệu đầu vào
Gồm hai dòng:
- Dòng đầu tiên chứa hai số nguyên dương ~n,\ k~ ~(1 \le k \le n \le 10^5)~.
- Dòng thứ hai chứa một xâu nhị phân ~s~ gồm ~n~ phần tử biểu diễn trạng thái của ~n~ vị trí. Giá trị ~0~ biểu diễn vị trí trống, giá trị ~1~ biểu diễn vị trí đã có cây trồng. (Dữ liệu đảm bảo số phần tử có giá trị ~0~ trong xâu ~s~ luôn lớn hơn ~k~)
Dữ liệu đầu ra
Gồm một số nguyên dương là giá trị nhỏ nhất của khoảng cách từ vị trí thành viên xa nhất đến trí của An.
Ràng buộc dữ liệu
- Có 60% test với ~1 < n \le 10^3~;
- Có 40% test với ~10^3 < n \le 10^5~.
Ví dụ
Ví dụ 1
INPUT
7 2
1010100
OUTPUT
2
Giải thích:
- Cách ~1~: Chọn các vị trí ~2; 4; 6~. An ở vị trí số ~4~ và khoảng cách đến thành viên xa nhất là ~|6 - 4| = |2 - 4| = 2~.
- Cách ~2~: Chọn các vị trí ~4; 6; 7~. An ở vị trí số ~6~ và khoảng cách đến thành viên xa nhất là ~|4 - 6| = 2~.
Vậy An có thể chọn theo cách ~1~ hoặc cách ~2~ đều cho khoảng cách là ~2~; các cách chọn khác đều cho khoảng cách lớn hơn ~2~.
Bình luận