#include <algorithm>
#include <iostream>
#include <limits>
#include <vector>
int main() {
std::vector<bool> mask{0, 0, 1, 0, 1, 1, 0};
std::vector<double> vec{7.1, 1.0, 3.2, 2.0, 1.8, 5.0, 0.0};
std::vector<double> combined;
std::transform(vec.begin(), vec.end(), mask.begin(), std::back_inserter(combined),
[](double v, bool mask) { return mask ? v : std::numeric_limits<double>::max(); });
auto it = std::min_element(combined.begin(), combined.end());
std::cout << "min=" << *it << "\n";
return 0;
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bGltaXRzPgojaW5jbHVkZSA8dmVjdG9yPgoKaW50IG1haW4oKSB7CiAKCXN0ZDo6dmVjdG9yPGJvb2w+IG1hc2t7MCwgICAwLCAgIDEsICAgMCwgICAxLCAgIDEsICAgMH07CglzdGQ6OnZlY3Rvcjxkb3VibGU+IHZlY3s3LjEsIDEuMCwgMy4yLCAyLjAsIDEuOCwgNS4wLCAwLjB9OwoJc3RkOjp2ZWN0b3I8ZG91YmxlPiBjb21iaW5lZDsKCQoJc3RkOjp0cmFuc2Zvcm0odmVjLmJlZ2luKCksIHZlYy5lbmQoKSwgbWFzay5iZWdpbigpLCBzdGQ6OmJhY2tfaW5zZXJ0ZXIoY29tYmluZWQpLAoJCQkJICAgW10oZG91YmxlIHYsIGJvb2wgbWFzaykgeyByZXR1cm4gbWFzayA/IHYgOiBzdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46Om1heCgpOyB9KTsKCQoJYXV0byBpdCA9IHN0ZDo6bWluX2VsZW1lbnQoY29tYmluZWQuYmVnaW4oKSwgY29tYmluZWQuZW5kKCkpOwoJc3RkOjpjb3V0IDw8ICJtaW49IiA8PCAqaXQgPDwgIlxuIjsKCXJldHVybiAwOwp9