#include <bits/stdc++.h>
using namespace std;
int main() {
vector<int>a= {10,11,11,11,11};
// 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+YT0gezEwLDExLDExLDExLDExfTsKCS8vIGF1dG8gaXQ9IGxvd2VyX2JvdW5kKHYuYmVnaW4oKSx2LmVuZCgpLDExKTsKCS8vIGludCBpZHggPSBpdC12LmJlZ2luKCk7CgkvLyBpbXBsZW1lbnRpbmcgbG93ZXJfYm91bmQ6CglpbnQgbD0wLCBoPWEuc2l6ZSgpLTE7CglpbnQgaz0xMTsKCXdoaWxlKGw8aCl7CgkJaW50IG09KGwraCkvMjsKCQlpZihhW21dPGspCgkJbD1tKzE7CgkJZWxzZXsKCQkJaWYoYVttXT09aykKCQkJaD1tOwoJCQloPW07CgkJfQoJfQoJY291dDw8IiBpZHggaXMgIjw8aDw8ZW5kbDsKfQ==