C ++ Set: Zählen von Elementen, die kleiner als ein Wert sind

Angenommen, ich habe eine STLset <int> s und einint xWie kann ich die Anzahl der Elemente in zählen?s das sind weniger alsx?

Ich suche eineO(log n) (oder ähnlich; alles, was einigermaßen besser ist alsO(n)) Lösung;

Ich weiß es schonstd::distance(s.begin(), s.lower_bound(x)), aber das istO(n)Ich glaube, weilsets sind keine wahlfreien Zugriffe.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage