#include <bits/stdc++.h>
using namespace std;
int main() {
vector<int>a= {5,9,10,10,10,10,11,11,12};
// auto it= lower_bound(v.begin(),v.end(),11);
// int idx = it-v.begin();
// implementing lower_bound:
int l=0, h=a.size()-1;
int k=11;
while(l<h){
int m=(l+h)/2;
if(a[m]<k)
l=m+1;
else{
if(a[m]==k)
h=m;
h=m;
}
}
cout<<" idx is "<<h<<endl;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCXZlY3RvcjxpbnQ+YT0gezUsOSwxMCwxMCwxMCwxMCwxMSwxMSwxMn07CgkvLyBhdXRvIGl0PSBsb3dlcl9ib3VuZCh2LmJlZ2luKCksdi5lbmQoKSwxMSk7CgkvLyBpbnQgaWR4ID0gaXQtdi5iZWdpbigpOwoJLy8gaW1wbGVtZW50aW5nIGxvd2VyX2JvdW5kOgoJaW50IGw9MCwgaD1hLnNpemUoKS0xOwoJaW50IGs9MTE7Cgl3aGlsZShsPGgpewoJCWludCBtPShsK2gpLzI7CgkJaWYoYVttXTxrKQoJCWw9bSsxOwoJCWVsc2V7CgkJCWlmKGFbbV09PWspCgkJCWg9bTsKCQkJaD1tOwoJCX0KCX0KCWNvdXQ8PCIgaWR4IGlzICI8PGg8PGVuZGw7Cn0=