Use binary search on answer when:
The answer lies in a bounded numeric range
You can write a feasibility function that returns true/false for a candidate answer
The feasibility function is monotonic. If answer works, then either all work or all work
The pattern: binary search finds the boundary between feasible and infeasible. Your job is identifying what "feasible" means for each problem.