Binary search to calculate the result
while ( $ l <= $ h ) { $ m = floor ( ( $ l + $ h ) / 2 ) ; if ( isPossible ( $ arr , $ n , $ m , $ k ) ) { $ ans = $ m ; $ h = $ m - 1 ; } else $ l = $ m + 1 ; } return $ ans ; }