std::setaに範囲内の要素が含まれているかどうかを確認する必要があります。たとえば、セットがでset<int> {1, 2, 4, 7, 8}あり、int間隔[3, 5](両方のエンドポイントを含む)が指定されている場合、セットに要素があるかどうかを知る必要があります。この場合、trueを返します。ただし、間隔が[5, 6]、の場合はfalseを返します。間隔はですが[4, 4]、ではありません[5, 3]。
使用できるようですがset::lower_bound、これが正しいアプローチかどうかはわかりません。また、複雑さをできるだけ低く抑えたいと思います。使用lower_boundは対数だと思いますよね?