Approach
Binary search
For CCC 2013 S5 - Factor Solitaire, 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
- 79 lines of Python from the credited upstream file ccc13s5.py.
- The implementation keeps its working state in language-native values and containers.
- No explicit loop blocks 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.