Необходимо придумать оптимальный алгоритм.

Суть задачи:

Даны N отсортированных массивов (элементы могут повторяться в разных массивах, в пределах одного элементы уникальны).
Отношение порядка введено только для элементов внутри каждого массива, элементы разных массивов несравнимы.
Если элементы a и b есть одновременно более чем в одном массиве, то везде одновременно они либо a < b, либо a > b.

Задача: склеить массивы в один так, чтобы порядок элементов не нарушился.

Пример 1:

A=(1,2,3,4,5)
B=(6,7,8,9,10)

Результирующий массив либо (1,2,3,4,5,6,7,8,9,10), либо (6,7,8,9,10,1,2,3,4,5), либо даже (1,2,6,3,7,4,8,9,10,5), но первые два варианта более предпочтительны.

Пример 2:
A=(1,6,7,8)
B=(2,4,9,10)
C=(3,5,6,7,9)

Результирующий набор, например, это (2,1,4,3,5,6,7,8,9,10).