lower_bound会找出序列中第一个大于等于x的数
upper_bound会找出序列中第一个大于x的数
前提:序列是升序的
lower_bound(a + 1, a + 1 + n, x);
如果要在一个下降序列里寻找一个小于x的数呢?
lower_bound(a + 1, a + 1 + n, x, greater <int> () );
对一个下降序列a
int p = lower_bound(a + 1, a + 1 + n, x, greater <int> () ) - a;
a[p]即a[1]到a[n]中第一个小于等于x的数