其实可以不用二分
在 C++ 标准库中,std::set容器的insert成员函数插入元素后返回一个std::pair对象。这个pair对象包含两个元素:
第一个元素 (pair::first) 是一个迭代器,指向刚刚插入的元素的位置,或者是集合中已存在相同键值的元素的位置。
第二个元素 (pair::second) 是一个布尔值,表示插入是否成功:
如果值为true,表示插入了一个新的元素到集合中。
如果值为false,则说明集合中已经有具有相同键值的元素,因此没有执行实际的插入操作
如果返回的second是false,直接continue;
其他情况就需要前后算一下min即可,
需要特别处理边界的情况,即插入的元素是第一个或最后面一个;