Сортировка слиянием с ограничением по памяти
Kotlin
Сложный
sorting
Задача «Сортировка слиянием с ограничением по памяти»
Дан массив целых чисел. Необходимо отсортировать его по возрастанию, используя только O(1) дополнительной памяти (т.е. без использования дополнительных массивов или списков). Разрешается переставлять элементы только в исходном массиве. Реализуйте алгоритм сортировки слиянием in-place с итеративным подходом (bottom-up). Выведите отсортированный массив через пробел.
Формат ввода
Первая строка содержит целое число N (1 ≤ N ≤ 10^5). Вторая строка содержит N целых чисел, разделённых пробелами.
Формат вывода
Одна строка: N целых чисел, отсортированных по возрастанию, разделённых пробелами.
Примеры
Пример 1
ВВОД
1
42
ВЫВОД
42
Пример 2
ВВОД
6
6 5 4 3 2 1
ВЫВОД
1 2 3 4 5 6
Пример 3
ВВОД
3.0 4.0
ВЫВОД
Invalid input
Пример 4
ВВОД
6
4 2 2 8 3 3 1
ВЫВОД
2 2 3 3 4 8
main.kt