OneCompiler

Binary Search Leetcode problem ( 2226. Maximum Candies Allocated to K Children )

160

VIDEO 55

Following is sample java code.

class Solution {
    public boolean isPossible(int[] candies , long k , int m )
    {
        for(int i=0;i<candies.length;i++)
        {
            int val = candies[i];
            if(val>=m)
           { 
            int temp = val/m;
            k-=temp;
            }
            if(k<=0)
            return true;
        }
        return false;
    }
    public int maximumCandies(int[] candies, long k) {
        int l=1;
        int r = 10000000;
        while(l<=r)
        {
            int mid = l + (r-l)/2;
            if(isPossible(candies,k,mid))
            l = mid + 1;
            else 
            r = mid - 1;
        }
        return (r==-1)?0:r;
    }
}