class Solution {
public int minRemoval(int[] nums, int k) {
Arrays.sort(nums);
int left = 0;
int maxLength = 1;
for (int right = 0; right < nums.length; right++) {
while (nums[right] > (long)k * nums[left]) {
left++;
}
maxLength = Math.max(maxLength, right - left + 1);
}
return nums.length - maxLength;
}
}```