#include <algorithm>
#include <iostream>
#include <map>
#include <tuple>
int main() {
std::map<std::pair<int, int>, int> m { { {1,3}, 4 }, { {6, 10}, 5 }, { {123, 126}, 111 } };
int x = 8;
auto result = std::find_if(std::begin(m), std::end(m), [x](const auto& v) {
return v.first.first <= x && x <= v.first.second;
});
if(result != std::end(m)) {
std::cout << "FOUND x " << result->second;
}
return 0;
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8dHVwbGU+CgppbnQgbWFpbigpIHsKICBzdGQ6Om1hcDxzdGQ6OnBhaXI8aW50LCBpbnQ+LCBpbnQ+IG0geyB7IHsxLDN9LCA0IH0sIHsgezYsIDEwfSwgNSB9LCB7IHsxMjMsIDEyNn0sIDExMSB9IH07CiAgaW50IHggPSA4OwoKICBhdXRvIHJlc3VsdCA9IHN0ZDo6ZmluZF9pZihzdGQ6OmJlZ2luKG0pLCBzdGQ6OmVuZChtKSwgW3hdKGNvbnN0IGF1dG8mIHYpIHsKICAgICAgcmV0dXJuIHYuZmlyc3QuZmlyc3QgPD0geCAmJiB4IDw9IHYuZmlyc3Quc2Vjb25kOwogIH0pOwoKICBpZihyZXN1bHQgIT0gc3RkOjplbmQobSkpIHsKICAgICAgc3RkOjpjb3V0IDw8ICJGT1VORCB4ICIgPDwgcmVzdWx0LT5zZWNvbmQ7CiAgfQoKICByZXR1cm4gMDsKfQo=