#include <algorithm>
#include <iostream>
#include <vector>
int main()
{
std::vector<double> v = { 4.5, 2.5, 5.5, 6.5, 3.5 };
auto part = std::partition(v.begin(), v.end(), [](double d){return 4 < d && d < 7;});
for (auto it = std::begin(v); it != part; ++it)
std::cout << *it << "\n";
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgoKaW50IG1haW4oKQp7CiAgc3RkOjp2ZWN0b3I8ZG91YmxlPiB2ID0geyA0LjUsIDIuNSwgNS41LCA2LjUsIDMuNSB9OwoKICBhdXRvIHBhcnQgPSBzdGQ6OnBhcnRpdGlvbih2LmJlZ2luKCksIHYuZW5kKCksIFtdKGRvdWJsZSBkKXtyZXR1cm4gNCA8IGQgJiYgZCA8IDc7fSk7CgogIGZvciAoYXV0byBpdCA9IHN0ZDo6YmVnaW4odik7IGl0ICE9IHBhcnQ7ICsraXQpCiAgICBzdGQ6OmNvdXQgPDwgKml0IDw8ICJcbiI7Cn0K