577
правок
Изменения
→Совсем не наивное решение
'''return''' findKthOrderStatistic(A, i, B + j + 1, m - j - 1, k - j - 1)
Таким образом первый массив на каждой итерации уменьшается в два раза, и как только размер массива станет равен единице (это произойдет за <tex>O(\log(n))</tex> операций), мы найдем ответ за пару сравнений, так как <tex>j = k - 1</tex>. Если же размер второго массива станет равным единице раньше этого, то мы будем сокращать размер первого массива в два раза до тех пор, пока <tex>k - n / 2 \geqslant 0</tex>. Как только это условие перестанет выполняться, мы снова за несколько сравнений найдем ответ. Итоговая асимптотика {{---}} <tex>O(\log(n) + \log(m))</tex>.
==См. также==