Контест Middle Замыкания и захват обновлено

Задача на Swift: конвейер преобразований из замыканий

Условие

Соберите конвейер из операций и примените к массиву по порядку. Операции:

  • add k, mul k: прибавить или умножить каждый элемент;
  • even: оставить чётные; gt k: оставить большие k;
  • sort asc / sort desc; take k: оставить первые k.

Ввод: n, строка из n чисел (|a| ≤ 1000), m (0 ≤ m ≤ 10), затем m операций. Гарантируется, что значения помещаются в Int.

Выведите итоговый массив через пробел или empty.

Пример

5
3 8 1 6 4
3
mul 2
gt 7
sort desc
16 12 8

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.