Binary search is not only for finding a value in a sorted array. When the answer is a number and "does this value work?" turns from false to true at one point, you can binary search over the answers themselves. Reach for it when a problem asks for the smallest speed, capacity or time that still meets a limit. If checking one candidate is not monotonic, binary search gives wrong answers, so prove that property first.