Jak zmusić upper_bound do szukania pierwszej nie mniejszej?

0

Mam problem polegający na tym, że po użyciu upper_bound w celu znalezienia pierwszej nie mniejszej liczby w liście (wszystkie wystąpienia liczb są unikalne a lista jest posortowana w kolejności rosnącej):

std::upper_bound(FORALL(positions[ORD(*ptr)]), i, std::greater_equal<size_t>());

zwraca nieprawidłowe wyniki (FORALL to makro FORALL(container) (container).begin(), (container).end()). Nie mam pojęcia co z tym zrobić.

0

Hm, a nie powinieneś użyc std::lower_bound bez żadnego komparatora?

0

Tak, ale wtedy mi znajdzie pierwszy nie większy.

0

Hm, nie mniejsza = większa lub równa, tak?

http://ideone.com/t0xos To wydaje się działać.

1 użytkowników online, w tym zalogowanych: 0, gości: 1