Очередь к барберам
Задача по программированию с проверкой онлайн
- Сложность
- Средняя
- Языки
- Python
- JavaScript
- TypeScript
- Java
- Go
- Темы
- Поиск и сортировка
- Математика
В парикмахерской работают барберы, нумерованные с 1; барбер k стрижёт одного клиента ровно barber_minutes[k − 1] минут. Барбер, закончив, сразу свободен. Клиент из головы очереди идёт к свободному барберу с наименьшим номером, а если свободных нет, ждёт, пока кто-то освободится (если освободились сразу несколько, выбирает наименьший номер). Парикмахерская только открылась, все барберы свободны. Вы стоите в очереди на месте place (первый клиент — место 1). Верните номер барбера, который вас пострижёт.
Ограничения: place до 10^9, длительности до 10^5.
Пример: [10, 5], 4 → 1 (барбер 1 занят до минуты 10, барбер 2 освободится на минуте 5 и возьмёт третьего клиента, а на минуте 10 свободны оба).
Источник: Coding Competitions Archive, codejam/2015/round_1a/haircut · © Google LLC · Apache-2.0 · условие переведено и дополнено