|
Преобразование последовательности
(Время: 2 сек. Память: 64 Мб Сложность: 35%)
Задана последовательность, содержащая n целых чисел. Необходимо найти число, которое встречается в этой последовательности наибольшее количество раз, а если таких чисел несколько, то найти минимальное из них, и после этого переместить все такие числа в конец заданной последовательности. Порядок расположения остальных чисел должен остаться без изменения.
Например, последовательность 1, 2, 3, 2, 3, 1, 2 после преобразования должна превратиться в последовательность 1, 3, 3, 1, 2, 2, 2.
Требуется написать программу, которая решает данную задачу.
Входные данные
Первая строка входного файла INPUT.TXT содержит число n — количество чисел во входной последовательности (1 ≤ n ≤ 200000). Следующая строка содержит входную последовательность, состоящую из n целых чисел, не превышающих по модулю 106. Все числа в строке разделены пробелом.
Выходные данные
В выходной файл OUTPUT.TXT выводится последовательность чисел, которая получается в результате названного преобразования. Все числа в последовательности должны быть разделены пробелом.
Пример
№ | INPUT.TXT | OUTPUT.TXT |
1 | 7 1 2 3 2 3 1 2 | 1 3 3 1 2 2 2 |
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!
| |