#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
std::vector<int> tt { 15, 25 };
std::vector<int> cc { 10, 20, 30 } ;
auto lower = std::lower_bound(cc.begin(), cc.end(), tt.front(), [](int a, int b){ return a < b; });
auto upper = std::lower_bound(cc.rbegin(), cc.rend(), tt.back(), [](int a, int b){ return a > b; });
size_t beforeCount = lower - cc.begin();
size_t afterCount = upper - cc.rbegin();
std::cout << beforeCount << std::endl;
std::cout << afterCount << std::endl;
std::cout << cc[beforeCount] << std::endl;
std::cout << cc[afterCount] << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmludCBtYWluKCkgewoJCglzdGQ6OnZlY3RvcjxpbnQ+IHR0IHsgMTUsIDI1IH07CglzdGQ6OnZlY3RvcjxpbnQ+IGNjICB7IDEwLCAyMCwgMzAgfSA7CgkKCWF1dG8gbG93ZXIgPSBzdGQ6Omxvd2VyX2JvdW5kKGNjLmJlZ2luKCksIGNjLmVuZCgpLCB0dC5mcm9udCgpLCBbXShpbnQgYSwgaW50IGIpeyByZXR1cm4gYSA8IGI7IH0pOwoJYXV0byB1cHBlciA9IHN0ZDo6bG93ZXJfYm91bmQoY2MucmJlZ2luKCksIGNjLnJlbmQoKSwgdHQuYmFjaygpLCBbXShpbnQgYSwgaW50IGIpeyByZXR1cm4gYSA+IGI7IH0pOwoJCglzaXplX3QgYmVmb3JlQ291bnQgPSBsb3dlciAtIGNjLmJlZ2luKCk7CglzaXplX3QgYWZ0ZXJDb3VudCA9IHVwcGVyIC0gY2MucmJlZ2luKCk7CgkKCXN0ZDo6Y291dCA8PCBiZWZvcmVDb3VudCA8PCBzdGQ6OmVuZGw7CglzdGQ6OmNvdXQgPDwgYWZ0ZXJDb3VudCA8PCBzdGQ6OmVuZGw7CgkKCXN0ZDo6Y291dCA8PCBjY1tiZWZvcmVDb3VudF0gPDwgc3RkOjplbmRsOwoJc3RkOjpjb3V0IDw8IGNjW2FmdGVyQ291bnRdIDw8IHN0ZDo6ZW5kbDsKCQoJcmV0dXJuIDA7Cn0=