#include <iostream>
#include <algorithm>
int main() {
int arr[] = {0, 2, 3, 5, 5, 6, 8, 8, 8, 9};
auto beg = std::begin(arr);
auto it = std::upper_bound( beg, std::end(arr), 8 );
if( it == beg ) {
std::cout << "no value less than 8 found" << std::endl;
return 0;
}
std::cout << "index is " << std::distance( beg, it ) - 1 << std::endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgoKaW50IG1haW4oKSB7CiAgICBpbnQgYXJyW10gPSB7MCwgMiwgMywgNSwgNSwgNiwgOCwgOCwgOCwgOX07CiAgICBhdXRvIGJlZyA9IHN0ZDo6YmVnaW4oYXJyKTsKICAgIGF1dG8gaXQgPSBzdGQ6OnVwcGVyX2JvdW5kKCBiZWcsIHN0ZDo6ZW5kKGFyciksIDggKTsKICAgIGlmKCBpdCA9PSBiZWcgKSB7CiAgICAgICAgc3RkOjpjb3V0IDw8ICJubyB2YWx1ZSBsZXNzIHRoYW4gOCBmb3VuZCIgPDwgc3RkOjplbmRsOwogICAgICAgIHJldHVybiAwOwogICAgfQogICAgc3RkOjpjb3V0IDw8ICJpbmRleCBpcyAiIDw8IHN0ZDo6ZGlzdGFuY2UoIGJlZywgaXQgKSAtIDEgPDwgc3RkOjplbmRsOwogICAgcmV0dXJuIDA7Cn0=