#include <iostream>
#include <vector>
#include <map>
int most_frequent_element(std::vector<int> const& v)
{
std::map<int, int> frequencyMap;
int maxFrequency = 0;
int mostFrequentElement = 0;
for (int x : v)
{
int f = ++frequencyMap[x];
if (f > maxFrequency)
{
maxFrequency = f;
mostFrequentElement = x;
}
}
return mostFrequentElement;
}
int main()
{
std::vector<int> v { 1, 3, 5, 6, 6, 2, 3, 4, 3, 5 };
std::cout << most_frequent_element(v);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8bWFwPgoKaW50IG1vc3RfZnJlcXVlbnRfZWxlbWVudChzdGQ6OnZlY3RvcjxpbnQ+IGNvbnN0JiB2KQp7CiAgICBzdGQ6Om1hcDxpbnQsIGludD4gZnJlcXVlbmN5TWFwOwogICAgaW50IG1heEZyZXF1ZW5jeSA9IDA7CiAgICBpbnQgbW9zdEZyZXF1ZW50RWxlbWVudCA9IDA7CiAgICBmb3IgKGludCB4IDogdikKICAgIHsKICAgICAgICBpbnQgZiA9ICsrZnJlcXVlbmN5TWFwW3hdOwogICAgICAgIGlmIChmID4gbWF4RnJlcXVlbmN5KQogICAgICAgIHsKICAgICAgICAgICAgbWF4RnJlcXVlbmN5ID0gZjsKICAgICAgICAgICAgbW9zdEZyZXF1ZW50RWxlbWVudCA9IHg7CiAgICAgICAgfQogICAgfQoKICAgIHJldHVybiBtb3N0RnJlcXVlbnRFbGVtZW50Owp9CgppbnQgbWFpbigpCnsKICAgIHN0ZDo6dmVjdG9yPGludD4gdiB7IDEsIDMsIDUsIDYsIDYsIDIsIDMsIDQsIDMsIDUgfTsKICAgIHN0ZDo6Y291dCA8PCBtb3N0X2ZyZXF1ZW50X2VsZW1lbnQodik7Cn0K