vector a = {0,1,2,2,3,4}; 使用前提是a已经是升序排列
cout << binary_search(a.begin(), a.end(), 3);
// 找是否存在3,return false or true
auto it = upper_bound(a.begin(), a.end(), 2);// 从左到右返回第一个大于2的数字的地址
auto itt = lower_bound(a.begin(), a.end(), 2);// 从左到右返回第一个大于等于2的数字的地址
// 找不到就返回a.end()