Concept Flow - Allocate Minimum Pages Binary Search on Answer
Set low = max(pages array)
Set high = sum(pages array)
While low <= high
Calculate mid = (low + high) / 2
Check if allocation possible with mid
Update answer = mid
high = mid - 1
Repeat
Return answer
We use binary search on the range of possible maximum pages to find the minimum maximum pages that can be allocated to students.
