Ctrl K

Кто досыпает кофе

Средняя
В офисе n коллег по очереди варят себе кофе: сначала коллега 0, потом 1 и так далее до n - 1, после чего очередь снова начинается с коллеги 0. Коллеге i на одну чашку нужно needs[i] граммов зёрен. В кофемашине изначально supply граммов. Как только подошедшему коллеге не хватает зёрен на чашку (их осталось строго меньше needs[i]), он идёт досыпать новую пачку. Верните номер коллеги, которому придётся досыпать зёрна.
Пример 1
needs=[4, 2, 3], supply=20 → 0

Полный круг съедает 9 граммов. После двух кругов остаётся 2 грамма, а коллеге 0 нужно 4 — засыпать зёрна ему.

Пример 2
needs=[1, 5, 2], supply=7 → 2

Коллега 0 берёт 1 грамм (осталось 6), коллега 1 — 5 (остался 1), коллеге 2 нужно 2 — не хватает.

Ограничения
  • 1 ≤ n = len(needs) ≤ 10⁵
  • 1 ≤ needs[i] ≤ 10⁵
  • 1 ≤ supply ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСамый короткий рывок СредняяОтрезки с маленьким произведением СредняяСамая длинная серия единиц с k правками СредняяХватит ли мест в шаттле СредняяСамый большой лёгкий квадрат Средняя
загружаем Python…
Вход
needs=[4, 2, 3], supply=20
Ожидается
0

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