input: def min_steps_to_reach_sum(k: int) -> int:
      """
      You are given a positive integer k. Initially, your array nums starts as [1].
  
      You can perform any of these operations on the array an unlimited number of times:
  
      Select any element in the array and increase its value by 1.
      Select any element in the array, copy it, and append the copy to the array.
      Return the minimum number of steps needed to achieve a sum of elements in the array that meets or exceeds k.
  
      Examples:
      >>> k = 11
      5
      >>> k = 1
      0
  
      Constraints:
      1 <= k <= 10^5
      """
output:     nums = [1]
      current_sum = 1
      steps = 0
      
      while current_sum < k:
          if current_sum * 2 <= k:
              current_sum *= 2
          else:
              current_sum += 1
          steps += 1
          
      return steps