N детей, у которых нет двух одинаковых по размеру, выстроены в определенном порядке. Каждый может сравнивать высоты только со своими непосредственными соседями. Когда учитель кричит «подними руки, если ты самый высокий», они делают это, если они выше, чем оба их соседа, и делают это одновременно. Если только один поднимает руку, он выигрывает. Если несколько человек поднимают руки, все они исключаются из ряда (сохраняя порядок остальных детей), и они повторяют процесс.
Напишите программу, которая берет массив различных целых чисел (вы можете предположить, что они строго положительны) и выводит победителя этой игры. Это код-гольф, поэтому выигрывает самый короткий код.
Примеры (показаны промежуточные этапы):
5 3 9 8 7 → 3 8 7 → 8
1 2 9 4 → 9
9 3 8 7 4 12 5 → 3 7 4 5 → 3 4 → 4
Нынешние лидеры:
- Желе: 17 байт [Деннис ♦]
- MATL: 20 байт [Луис Мендо]
- APL: 28 байт.
- k: 40 байт [Пол Керриган]
Там также идет битва питонов. Все еще жду, чтобы появилось больше языков для игры в гольф.
В настоящее время я принял ответ Дениса ♦ - если будут новые победители, я обновлю выбор.