C. Rải thảm sự kiện

Xem dạng PDF

Gửi bài giải

Điểm: 1,00
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Tác giả:
Dạng bài

Hội trường lớn của trường được lát bằng một dải gạch thẳng gồm ~N~ viên gạch liên tiếp đánh số từ ~1~ đến ~N~. Qua thời gian sử dụng, một số viên gạch đã bị trầy xước. Trạng thái của dải gạch được biểu diễn bằng mảng ~N~ số nguyên, trong đó ~0~ là gạch còn tốt và ~1~ là gạch bị xước.

Để chuẩn bị cho lễ trao giải, Ban tổ chức có sẵn 2 tấm thảm đỏ, mỗi tấm thảm có chiều dài phủ kín được đúng ~L~ viên gạch liên tiếp. Hai tấm thảm có thể đặt nối tiếp, tách rời hoặc thậm chí chồng lên nhau (và không được thò ra ngoài phạm vi ~N~ viên gạch).

Yêu cầu: Hãy tìm cách đặt 2 tấm thảm sao cho tổng số viên gạch bị xước được che phủ bởi ít nhất một tấm thảm là nhiều nhất.

Đầu vào

Dữ liệu từ tập tin OLP2026_03.INP gồm 2 dòng:

  • Dòng 1 chứa hai số nguyên dương ~N~ và ~L~ (~1≤L≤N≤200 000~).
  • Dòng 2 chứa ~N~ số nguyên (chỉ gồm ~0~ hoặc ~1~) cách nhau bởi dấu cách.

Đầu ra

Kết quả ghi vào tập tin OLP2026_03.OUT là một số nguyên duy nhất cho biết số lượng gạch bị xước tối đa được che phủ.

Ví dụ 1

Input
8 3
1 0 1 1 0 1 0 1
Output
4

Ví dụ 2

Input
5 2
1 1 1 0 1
Output
4

Subtask

  • Subtask 1 (20%): N ≤ 20.
  • Subtask 2 (30%): N ≤ 2 000.
  • Subtask 3 (50%): N ≤ 200 000.

Đang tải...