Ctrl K

Ковры на белой плитке

Сложная
Пол в коридоре выложен в один ряд плиток и описан строкой floor: символ '1' — белая плитка, '0' — чёрная. У вас есть rugs тёмных ковров, каждый закрывает ровно rug_length подряд идущих плиток. Ковры можно класть где угодно и даже внахлёст. Разложите ковры так, чтобы осталось видно как можно меньше белых плиток, и верните это количество.
Пример 1
floor='1101101', rugs=1, rug_length=3 → 3

Белых плиток пять, а любой отрезок из трёх плиток накрывает не больше двух из них. Остаётся видно 3.

Пример 2
floor='111011', rugs=2, rug_length=2 → 1

Кладём ковры на плитки 1–2 и 4–5; открытой остаётся только белая плитка 0.

Пример 3
floor='1001', rugs=2, rug_length=1 → 0

Каждый ковёр закрывает одну из двух белых плиток.

Ограничения
  • 1 ≤ rug_length ≤ floor.length ≤ 1000
  • floor[i] — '0' или '1'
  • 1 ≤ rugs ≤ 1000
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиРасстановки по подъёмам и спускам СложнаяЗалипающие клавиши СложнаяПрыжки по целым плиткам СредняяПроверка трёх зданий СредняяШаблон с точкой и звёздочкой Сложная
загружаем Python…
Вход
floor='1101101', rugs=1, rug_length=3
Ожидается
3

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 111 тестов на сервере, включая скрытые.