可以选择重载小括号,或者直接写bool函数
struct cmp{ bool operator () (int a,int b) {return a>b;} }; lower_bound(a.begin(),a.end(),x,cmp());
或者
bool cmp (int a,int b) {return a>b;} lower_bound(a.begin(),a.end(),x,cmp);
lower_bound返回第一个>=x的指针,重载后返回第一个<=x的指针
upper_bound返回第一个>x的指针,重载后返回第一个<x的指针