#include <algorithm>
#include <iostream>
#include <vector>
#include <unordered_map>
using user = int;
using uint32 = unsigned long int;
int main()
{
std::unordered_map<uint32, user> myMap = {{1,2},{3,5},{2,9},{4,7}};
std::vector<uint32> to_find = {1,3};
std::vector<user> results;
if(to_find.size() == 0) // if you have to_find vec size = 0
std::for_each(myMap.cbegin(), myMap.cend(), [&results](const auto& ele)->void
{
results.emplace_back(ele.second);
});
else
{
for(const auto& it: myMap)// binary_search; if not found add the value
if(!std::binary_search(to_find.begin(), to_find.end(), it.first))
results.emplace_back(it.second);
}
for(const auto& it: results) std::cout << it << std::endl;
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8dW5vcmRlcmVkX21hcD4KCnVzaW5nIHVzZXIgPSBpbnQ7CnVzaW5nIHVpbnQzMiA9IHVuc2lnbmVkIGxvbmcgaW50OwoKaW50IG1haW4oKQp7CiAgICBzdGQ6OnVub3JkZXJlZF9tYXA8dWludDMyLCB1c2VyPiBteU1hcCA9IHt7MSwyfSx7Myw1fSx7Miw5fSx7NCw3fX07CiAgICBzdGQ6OnZlY3Rvcjx1aW50MzI+IHRvX2ZpbmQgPSB7MSwzfTsKICAgIHN0ZDo6dmVjdG9yPHVzZXI+IHJlc3VsdHM7CgogICAgaWYodG9fZmluZC5zaXplKCkgPT0gMCkgIC8vIGlmIHlvdSBoYXZlIHRvX2ZpbmQgdmVjIHNpemUgPSAwCiAgICAgICAgc3RkOjpmb3JfZWFjaChteU1hcC5jYmVnaW4oKSwgbXlNYXAuY2VuZCgpLCBbJnJlc3VsdHNdKGNvbnN0IGF1dG8mIGVsZSktPnZvaWQKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRzLmVtcGxhY2VfYmFjayhlbGUuc2Vjb25kKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwogICAgZWxzZQogICAgewogICAgICAgIGZvcihjb25zdCBhdXRvJiBpdDogbXlNYXApLy8gYmluYXJ5X3NlYXJjaDsgaWYgbm90IGZvdW5kIGFkZCB0aGUgdmFsdWUKICAgICAgICAgICAgaWYoIXN0ZDo6YmluYXJ5X3NlYXJjaCh0b19maW5kLmJlZ2luKCksIHRvX2ZpbmQuZW5kKCksIGl0LmZpcnN0KSkKICAgICAgICAgICAgICAgIHJlc3VsdHMuZW1wbGFjZV9iYWNrKGl0LnNlY29uZCk7CiAgICB9CgogICAgZm9yKGNvbnN0IGF1dG8mIGl0OiByZXN1bHRzKSBzdGQ6OmNvdXQgPDwgaXQgPDwgc3RkOjplbmRsOwp9Cg==