Нужен массив-хранилище объектов по двойному float ключу. При этом нужна очень специфическая функция нахождения объекта в массиве:
По двум ключам (X₀,Y₀) нужно вернуть объект с такими ключами (X,Y), чтобы (|X-X₀| + a*|Y-Y₀|) было минимальным (параметр a заранее известен).
Как вариант, сойдет условие чтобы |X-X₀| < b, а |Y-Y₀| минимально.
Короче, нужен двумерный аналог map::lower_bound. Есть где такой, или надо изобретать?