min swap for bring <=k elements first half
import java.util.*;
public class Main {
public static void main(String[] args) {
int arr[] = {2,1,6,7,8,3,4};
int k = 4;
sort(arr, k, arr.length);
// for(int i : arr)
// System.out.print(i+" ");
}
public static void sort(int arr[], int k, int n){
int count = 0;
for(int i : arr)
if(i <= k) count++ ;
int bad = 0;
for(int i=0 ; i<count ; i++)
if(arr[i] > k) bad++;
int ans = bad;
for(int i=0,j=count ; j<n ; j++ , i++ ){
if(arr[i] > k) bad--;
if(arr[j] > k) bad++;
ans = Math.min(ans,bad);
}
System.out.print(ans);
}
}