Ctrl K

Проверки разряжают остальных

Лёгкая
На стенде в ряд стоят устройства, charges[i] — заряд устройства i в процентах. Техник идёт слева направо и для каждого устройства делает следующее: - если заряд больше нуля, устройство проверяется, а у **всех устройств правее** заряд уменьшается на 1 (но не ниже нуля); - если заряд равен нулю, устройство пропускается, и ничего не меняется. Верните, сколько устройств будет проверено.
Пример 1
charges=[2, 1, 3, 0, 2] → 2

Проверяем устройство 0, заряды дальше становятся [0, 2, 0, 1]. Устройство 1 пропускаем, проверяем 2 — остаток [0, 0]. Устройства 3 и 4 разряжены. Проверено 2.

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

Устройство 0 разряжено, 1 и 2 проверяются: после первой проверки у последнего остаётся 4.

Пример 3
charges=[1, 1, 1, 1] → 1

Первая же проверка обнуляет все остальные.

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

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