STL uppper_bound(), lower_bound()

upper_bound(k)
k < ite を満たす最初の要素への反復子 iteを返す. 
lower_bound(k)
k <= ite を満たす最初の要素への反復子 iteを返す.
equal_range(k)
k == ite を満たす範囲を返す.つまり pair(lower_bound(k), upper_bound(k))を返す.

ただしコンテナは事前に整列されている必要がある.