Сдвиг нулей в конец
Просмотр в формате PDFДефрагментатор обрабатывает последовательность блоков на диске. Каждый блок описывается целым числом: значение 0 обозначает пустой блок, а любое другое число — занятый блок с данными.
Необходимо выполнить дефрагментацию: сдвинуть все пустые блоки в конец диска, при этом сохранив относительный порядок всех занятых блоков.
Требуется вывести состояние диска после такой операции.
Входные данные
В первой строке задано число n — количество блоков на диске (1 <= n <= 2 * 10^5).
Во второй строке заданы n целых чисел a_i — описание блоков (-10^9 <= a_i <= 10^9).
Выходные данные
Выведите n чисел — состояние диска после дефрагментации, в котором все блоки со значением 0 перенесены в конец, а порядок всех остальных блоков сохранён.
Ограничения
1 <= n <= 2 * 10^5-10^9 <= a_i <= 10^9
Примеры
Пример 1
Входные данные
5
0 5 0 -3 7
Выходные данные
5 -3 7 0 0
Пример 2
Входные данные
6
-1 -2 3 4 5 6
Выходные данные
-1 -2 3 4 5 6
Комментарии