Разбиение по опорному
Просмотр в формате PDF
Submit solution
Очки:
120
Ограничение по времени:
2.0s
Ограничение по памяти:
256M
Problem type
Allowed languages
C++, Python
В системе обработки платежей есть список из n транзакций, каждая из которых характеризуется целым числом. Также задан порог p.
Нужно разделить транзакции на две группы:
- сначала вывести все мелкие транзакции — те, у которых значение меньше
p; - затем вывести все крупные транзакции — те, у которых значение не меньше
p.
Внутри каждой из двух групп необходимо сохранить исходный порядок транзакций.
Входные данные
Первая строка содержит целое число n — количество транзакций.
Вторая строка содержит n целых чисел a_i — значения транзакций.
Третья строка содержит целое число p — порог разделения.
Выходные данные
Выведите значения транзакций после разбиения по порогу.
Ограничения
1 <= n <= 2 * 10^5-10^9 <= a_i <= 10^9-10^9 <= p <= 10^9
Примеры
Пример 1
Входные данные
5
3 1 4 1 5
3
Выходные данные
1 1 3 4 5
Пример 2
Входные данные
6
-5 0 -1 7 -5 2
0
Выходные данные
-5 -1 -5 0 7 2
Комментарии