top, каждая по одной. Игроки ходят по очереди: берут любую оставшуюся карточку и прибавляют её число к общей сумме (в начале сумма равна 0). Взятая карточка из игры уходит. Выигрывает тот, после чьего хода сумма впервые станет не меньше goal.
Оба играют наилучшим образом. Верните True, если первый игрок может гарантировать себе победу, иначе False. Если карточки кончились, а сумма так и не дошла до goal, победителя нет — это тоже False. Если goal равен 0, первый игрок считается победителем сразу.top=5, goal=6 → False
Что бы ни взял первый игрок (от 1 до 5), до 6 остаётся от 1 до 5, и второй берёт одно из ещё свободных чисел, которое добивает сумму. Первый проигрывает.
top=6, goal=6 → True
Первый игрок сразу берёт 6 и выигрывает.
top=4, goal=11 → False
Сумма всех чисел 1 + 2 + 3 + 4 = 10 < 11: до цели не дойдёт никто, и первый не выигрывает.
top=5, goal=6
False
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 78 тестов на сервере, включая скрытые.