Ctrl K

Лучшая верхняя карточка

Средняя
Стопка карточек с числами задана массивом pile: pile[0] — верхняя карточка. За один ход можно сделать одно из двух: - если стопка не пуста — снять верхнюю карточку и отложить её; - если среди отложенных есть карточки — положить любую из них обратно наверх стопки. Нужно сделать ровно moves ходов. Верните наибольшее число, которое может оказаться на верхней карточке после этого. Если после ровно moves ходов стопка обязательно пуста, верните -1.
Пример 1
pile=[3, 8, 1, 6], moves=2 → 3

Можно снять две карточки — сверху окажется 1. А можно снять 3 и вернуть её обратно — сверху снова 3. Восьмёрку наверх за два хода не поднять: чтобы до неё добраться и вернуть, нужно три хода. Ответ 3.

Пример 2
pile=[4], moves=3 → -1

С единственной карточкой ходы чередуются: снять, вернуть, снять. После трёх ходов стопка пуста, поэтому ответ -1.

Пример 3
pile=[2, 5, 9], moves=4 → 9

Снимаем все три карточки и возвращаем 9 — ровно четыре хода.

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

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