#include <algorithm>
#include <iostream>
#include <iterator>
#include <stdexcept>
#include <vector>
std::size_t FindIndexOfLargest(const std::vector <int> &input);
int main()
{
auto index = FindIndexOfLargest({4, 3, 30, 20, 12, 15});
std::cout << index << "\n";
}
std::size_t FindIndexOfLargest(const std::vector <int> &input)
{
if (input.empty()) {
throw std::runtime_error("Error: Input vector was empty."); // or return an error value.
}
std::vector<int>::const_iterator max_value = std::max_element(input.cbegin(), input.cend());
return std::distance (input.cbegin(), max_value);
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aXRlcmF0b3I+CiNpbmNsdWRlIDxzdGRleGNlcHQ+CiNpbmNsdWRlIDx2ZWN0b3I+CgpzdGQ6OnNpemVfdCBGaW5kSW5kZXhPZkxhcmdlc3QoY29uc3Qgc3RkOjp2ZWN0b3IgPGludD4gJmlucHV0KTsKCmludCBtYWluKCkKewoJYXV0byBpbmRleCA9IEZpbmRJbmRleE9mTGFyZ2VzdCh7NCwgMywgMzAsIDIwLCAxMiwgMTV9KTsKCXN0ZDo6Y291dCA8PCBpbmRleCA8PCAiXG4iOwp9CgpzdGQ6OnNpemVfdCBGaW5kSW5kZXhPZkxhcmdlc3QoY29uc3Qgc3RkOjp2ZWN0b3IgPGludD4gJmlucHV0KQp7CglpZiAoaW5wdXQuZW1wdHkoKSkgewoJCXRocm93IHN0ZDo6cnVudGltZV9lcnJvcigiRXJyb3I6IElucHV0IHZlY3RvciB3YXMgZW1wdHkuIik7IC8vIG9yIHJldHVybiBhbiBlcnJvciB2YWx1ZS4KCX0KCglzdGQ6OnZlY3RvcjxpbnQ+Ojpjb25zdF9pdGVyYXRvciBtYXhfdmFsdWUgPSBzdGQ6Om1heF9lbGVtZW50KGlucHV0LmNiZWdpbigpLCBpbnB1dC5jZW5kKCkpOwoJcmV0dXJuIHN0ZDo6ZGlzdGFuY2UgKGlucHV0LmNiZWdpbigpLCBtYXhfdmFsdWUpOwp9