Approach
Binary search
For Rational Approximation, the implementation exploits a monotonic condition to discard half of the remaining search space after every check.
- Identify the ordered answer range or sorted search domain.
- Write a predicate whose truth changes only once.
- Move the appropriate boundary after each midpoint check and return the final feasible position.
Code notes
- 27 lines of C++ from the credited upstream file yosupo-rational-approximation.test.cpp.
- The implementation keeps its working state in language-native values and containers.
- 1 loop block detected.
Complexity
Multiply the logarithmic number of midpoint checks by the cost of one predicate evaluation.
Check the problem constraints before deciding whether this complexity will pass.