Ctrl K

Перевес тяжёлых смен

Средняя
Массив shifts — журнал работы сотрудника: shifts[i] — сколько часов он отработал в i-й день. День считается тяжёлым, если отработано строго больше 8 часов, иначе он лёгкий. Найдите самый длинный отрезок подряд идущих дней, в котором тяжёлых дней строго больше, чем лёгких. Верните длину такого отрезка или 0, если ни одного подходящего отрезка нет.
Пример 1
shifts=[10, 4, 12, 11, 3, 2, 7] → 5

Отрезок из первых пяти дней [10, 4, 12, 11, 3] содержит три тяжёлых дня и два лёгких. Отрезка длиннее с перевесом тяжёлых дней нет.

Пример 2
shifts=[8, 5, 8] → 0

Ровно 8 часов — ещё не тяжёлый день, так что тяжёлых дней нет совсем и ответ 0.

Пример 3
shifts=[9, 0, 9, 0, 9] → 5

Весь период: три тяжёлых дня против двух лёгких.

Ограничения
  • 1 ≤ len(shifts) ≤ 10⁴
  • 0 ≤ shifts[i] ≤ 16
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСлабое звено, умноженное на сумму СредняяСледующее большее справа ЛёгкаяСила бригад по слабому звену СложнаяПрямой обход дерева поиска СредняяСамый длинный отрезок с заданной суммой Средняя
загружаем Python…
Вход
shifts=[10, 4, 12, 11, 3, 2, 7]
Ожидается
5

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