Process from smallest end
\nWhen the k is big enough, it could be nearer to the smallest end.\nIn this kind of situation, convert to a problem that find a (2**n  + 1 -  k) smallest value
\nWhen the k is big enough, it could be nearer to the smallest end.\nIn this kind of situation, convert to a problem that find a (2**n  + 1 -  k) smallest values\nin the mean time turn all nums to their opposite number\nThen the same logic for the rest of code
[]