Ctrl K

Дегустаторы и испорченная бочка

Сложная
На складе casks бочек, и ровно в одной из них испорченное вино. Найти её помогают добровольцы-дегустаторы. Проверка идёт раундами. В начале раунда каждому дегустатору можно дать отпить из любого набора бочек (из одной бочки могут пить несколько человек), это происходит мгновенно. Через react_minutes минут все, кто пробовал испорченное вино, почувствуют себя плохо и дальше участвовать не смогут, остальные продолжают. Новый раунд можно начать только после этого. Всего на проверку есть total_minutes минут. Верните наименьшее число дегустаторов, при котором испорченную бочку гарантированно удастся определить за отведённое время.
Пример 1
casks=8, react_minutes=10, total_minutes=10 → 3

Время только на один раунд, и каждый дегустатор даёт ответ «да/нет». Трёх дегустаторов хватает на 2³ = 8 бочек: каждая бочка кодируется тройкой «пил/не пил».

Пример 2
casks=9, react_minutes=15, total_minutes=30 → 2

Раундов два, поэтому у каждого дегустатора три исхода: плохо в первом раунде, во втором или вовсе нет. Двоих хватает на 3² = 9 бочек.

Пример 3
casks=1, react_minutes=5, total_minutes=20 → 0
Ограничения
  • 1 ≤ casks ≤ 1000
  • 1 ≤ react_minutes ≤ total_minutes ≤ 100
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЭфир без частых повторов СложнаяПорядок развоза посылок СложнаяЧестный раздел цветных бусин СложнаяДругие порядки для того же дерева поиска Сложнаяk-й маршрут по алфавиту Сложная
загружаем Python…
Вход
casks=8, react_minutes=10, total_minutes=10
Ожидается
3

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