The std::equal_range algorithm is a binary search algorithm (2*logn comparisons) that operates on sorted ranges.
It returns the lower and upper bounds for the given value, denoting the range of elements that equal the value.
Same as std::lower_bound and std::upper_bound, std::equal_range still provides O(logn) number of comparisons on non-random-access ranges.
Compiler Explorer link: https://compiler-explorer.com/z/zzE93Tn5b