Появилась такая задача - есть набор пар ключ-значение. И ключ и значение - целые числа. Значения не уникальны и могут повторяться в парах, ключи - уникальны.
В соответствие с алгоритмом, значения некоторых пар итеративно меняются. Кроме того, каждую итерацию надо выбирать пару (1 или несколько) по минимальному значению «значения» (прошу прощения за тавтологию). Язык реализации C++
Стандартный map для pair ключ-значение - очень медленно (видимо, за счет частых обращений и модификаций перед поиском минимума). Даже вектор чисел и стандартный std::min каждый раз и то быстрее.
Какое решение посоветуете?
update: забыл добавить, что диапозон значений и ключа и значений ограничен одним и тем же N (не больше 100000).