spin_cost, каждый севший пассажир платит ticket.
Перед поворотом номер i (с нуля) к колесу подходят arrivals[i] новых посетителей и встают в общую очередь. Перед каждым поворотом в кабинку сажают столько ожидающих, сколько поместится (до 4). Повороты делаются и после того, как массив arrivals закончился, пока в очереди кто-то есть.
Остановиться можно после любого поворота — например, раньше, чем всех обслужили. Прибыль после k поворотов — это выручка от севших за эти повороты минус k · spin_cost; повороты, которые нужны, чтобы спустить уже севших, бесплатны.
Верните наименьшее число поворотов, при котором прибыль наибольшая. Если ни при каком числе поворотов прибыль не становится положительной, верните -1.arrivals=[6, 1], ticket=3, spin_cost=4 → 2
Поворот 1: пришли 6, садятся 4, прибыль 4 · 3 - 4 = 8. Поворот 2: пришёл 1, садятся 2 ожидающих и он, итого 3, прибыль 8 + 9 - 4 = 13. Очередь пуста; дальше крутить — только терять. Ответ 2.
arrivals=[2, 2], ticket=1, spin_cost=5 → -1
Каждый поворот приносит максимум 2 · 1 = 2 при затратах 5, прибыль всё время отрицательная — ответ -1.
arrivals=[0, 0, 9], ticket=10, spin_cost=7 → 5
arrivals=[6, 1], ticket=3, spin_cost=4
2
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 50 тестов на сервере, включая скрытые.