Я не совсем понял описание алгоритма со слов. Например "Когда дошли до K=N...", не очень понятно, как мы доходим :)
Давай на примере. Есть 10 элементов - [1,2,3,4,5,6,7,8,9,10], надо выбрать 8 случайных. Делим массив пополам, по биномиальному рандому получаем что из первой половины надо выбрать 5 элементов, а из второй 3. Значит из первой берем все: [1,2,3,4,5], а со второй продолжаем рекурсивный процесс - делим пополам и т.д.