Maximum Candies Allocated to K Children LeetCode solution in Java
1class Solution {2public boolean canSplit(int[] candies, long k, long mid) {3long split = 0;4for (int i = 0; i < candies.length; ++i) {5split += candies[i] / mid;6}7if (split >= k) return true;8else return false;9}1011public int maximumCandies(int[] candies, long k) {12long sum = 0;13for (int i = 0; i < candies.length; ++i) {14sum += candies[i];15}16long start = 1, end = sum;17long ans = 0;18while (start <= end) {19long mid = (start + end) / 2;20if (canSplit(candies, k, mid)) {21ans = mid;22start = mid + 1;23} else {24end = mid - 1;25}26}27return (int) ans;28}29}