package q3634 import "slices" const INF int = 1<<63 - 1 func minRemoval(nums []int, k int) int { slices.Sort(nums) minRem := INF for i := 0; i < min(len(nums), minRem); i++ { if i > 0 && nums[i] == nums[i-1] { continue } target := nums[i] * k l, r := i, len(nums) for l < r { m := (l + r) / 2 switch { case nums[m] > target: r = m default: l = m + 1 } } minRem = min(minRem, i+len(nums)-l) } return minRem } var _ = minRemoval