OneCompiler

min swap for bring <=k elements first half

120

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);

}
}