#include <iostream>
#include <algorithm>
#include <vector>
//#include <cstddef>
int main()
{
std::vector<size_t> m_index_list;
m_index_list.push_back(0);
m_index_list.push_back(5);
m_index_list.push_back(9);
for (size_t data_pos = 4; data_pos < 12; ++data_pos)
{
// your code goes here
auto it = lower_bound(m_index_list.begin(), m_index_list.end(), data_pos);
//тут проверка, что fragment_index существует (т.е. it != end(m_index_list))
size_t fragment_index = it - m_index_list.begin();
std::cout << "data_pos " << data_pos << ": fragment_index = " << fragment_index << std::endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8YWxnb3JpdGhtPgojaW5jbHVkZSA8dmVjdG9yPgovLyNpbmNsdWRlIDxjc3RkZGVmPgoKaW50IG1haW4oKSAKewoJc3RkOjp2ZWN0b3I8c2l6ZV90PiBtX2luZGV4X2xpc3Q7CgkKCW1faW5kZXhfbGlzdC5wdXNoX2JhY2soMCk7CgltX2luZGV4X2xpc3QucHVzaF9iYWNrKDUpOwoJbV9pbmRleF9saXN0LnB1c2hfYmFjayg5KTsKCglmb3IgKHNpemVfdCBkYXRhX3BvcyA9IDQ7IGRhdGFfcG9zIDwgMTI7ICsrZGF0YV9wb3MpCgl7CgkJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJCWF1dG8gaXQgPSBsb3dlcl9ib3VuZChtX2luZGV4X2xpc3QuYmVnaW4oKSwgbV9pbmRleF9saXN0LmVuZCgpLCBkYXRhX3Bvcyk7CgoJCS8v0YLRg9GCINC/0YDQvtCy0LXRgNC60LAsINGH0YLQviBmcmFnbWVudF9pbmRleCDRgdGD0YnQtdGB0YLQstGD0LXRgiAo0YIu0LUuIGl0ICE9IGVuZChtX2luZGV4X2xpc3QpKSAKCgkJc2l6ZV90IGZyYWdtZW50X2luZGV4ID0gaXQgLSBtX2luZGV4X2xpc3QuYmVnaW4oKTsKCQoJCXN0ZDo6Y291dCA8PCAiZGF0YV9wb3MgIiA8PCBkYXRhX3BvcyA8PCAiOiBmcmFnbWVudF9pbmRleCA9ICIgPDwgZnJhZ21lbnRfaW5kZXggPDwgc3RkOjplbmRsOwoJfQoKCXJldHVybiAwOwp9