Контест Middle Паттерны конкурентности обновлено

Параллельная сортировка слиянием с ограничением глубины

Условие

Отсортируйте массив сортировкой слиянием, в которой две половины сортируются параллельно в разных горутинах, но только пока глубина рекурсии меньше d; глубже сортировка идёт последовательно.

Ввод: n d (1 ≤ n ≤ 2000, 0 ≤ d ≤ 10), затем n целых чисел.

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

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

Пример

6 2
5 1 4 1 3 9
1 1 3 4 5 9

Как подойти

Рекурсия с depth, go для левой половины пока depth < d, слияние через буфер той же длины.

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

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