Не углубляясь в математическую сторону вопроса, первое же решение, приходящее в голову — построить карту для элементов массива, чем меньше элемент, тем выше индекс для него в этой карте, тем сильнее последующее изменение этого элемента.
Топорно, быстро, просто