Doubt in the code


please comment the errors

Hey @Adhyayan
just a changes
Sort the array
correct code
import java.util.*;

public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);

		int n = sc.nextInt();
		int cow = sc.nextInt();
		int[] arr = new int[n];
		for (int i = 0; i < n; i++) {
			arr[i] = sc.nextInt();
		}

Arrays.sort(arr); // mera change
int ans = aggrerssicvecows(arr, cow, n);
System.out.println(ans);

}

public static int aggrerssicvecows(int[] arr, int cow, int n) {
	int s = 0;
	int e = arr[n - 1] - arr[0];
	int ans1 = 0;

	while (s <= e) {
		int mid = (s + e) / 2;
		boolean ans = canplace(mid, arr, cow, n);
		if (ans) {
			ans1 = mid;
			s = mid + 1;
		} else {
			e = mid - 1;
		}
	}
	return ans1;
}

public static boolean canplace(int mid, int[] arr, int cow, int n) {
	int c = 1;
	int lastindexcowplaced = arr[0];
	for (int x = 1; x < n; x++) {
		if ((arr[x] - lastindexcowplaced) >= mid) {
			lastindexcowplaced = arr[x];
			c++;
			if (c == cow) {
				return true;
			}
		}
	}
	return false;
}

}