#include <iostream>
#include <vector>
#include <map>
template<class T>
void findElement(std::vector<T>& vec, int k)
{
std::map<T, int> count;
for(T x : vec)
{
count[x]++;
}
typename std::map<T, int>::iterator itr;
for(itr = count.begin(); itr != count.end(); itr++)
{
if(itr->second == k)
{
std::cout << itr->first <<'\n';
return;
}
}
std::cerr << "No such element \n ";
}
int main()
{
std::vector<char> v;
v.push_back('r');
v.push_back('t');
v.push_back('q');
v.push_back('r');
v.push_back('u');
v.push_back('q');
v.push_back('s');
int k;
std::cout << " Enter the number of repetitions you want : ";
std::cin >> k;
std::cout << "The smallest element that has " << k <<" reptition is : ";
findElement(v, k);
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8dmVjdG9yPgojaW5jbHVkZSA8bWFwPgoKdGVtcGxhdGU8Y2xhc3MgVD4Kdm9pZCBmaW5kRWxlbWVudChzdGQ6OnZlY3RvcjxUPiYgdmVjLCBpbnQgaykKewogIHN0ZDo6bWFwPFQsIGludD4gY291bnQ7CiAgZm9yKFQgeCA6IHZlYykKICB7CiAgICBjb3VudFt4XSsrOwogIH0KCiAgdHlwZW5hbWUgc3RkOjptYXA8VCwgaW50Pjo6aXRlcmF0b3IgaXRyOwogIGZvcihpdHIgPSBjb3VudC5iZWdpbigpOyBpdHIgIT0gY291bnQuZW5kKCk7IGl0cisrKQogIHsKICAgIGlmKGl0ci0+c2Vjb25kID09IGspCiAgICB7CiAgICAgIHN0ZDo6Y291dCA8PCBpdHItPmZpcnN0IDw8J1xuJzsKICAgICAgcmV0dXJuOwogICAgfQogIH0KICBzdGQ6OmNlcnIgPDwgIk5vIHN1Y2ggZWxlbWVudCBcbiAiOwp9CgppbnQgbWFpbigpCnsKICBzdGQ6OnZlY3RvcjxjaGFyPiB2OwogIHYucHVzaF9iYWNrKCdyJyk7CiAgdi5wdXNoX2JhY2soJ3QnKTsKICB2LnB1c2hfYmFjaygncScpOwogIHYucHVzaF9iYWNrKCdyJyk7CiAgdi5wdXNoX2JhY2soJ3UnKTsKICB2LnB1c2hfYmFjaygncScpOwogIHYucHVzaF9iYWNrKCdzJyk7CiAgaW50IGs7CiAgc3RkOjpjb3V0IDw8ICIgRW50ZXIgdGhlIG51bWJlciBvZiByZXBldGl0aW9ucyB5b3Ugd2FudCA6ICI7CiAgc3RkOjpjaW4gPj4gazsKICBzdGQ6OmNvdXQgPDwgIlRoZSBzbWFsbGVzdCBlbGVtZW50IHRoYXQgaGFzICIgPDwgayA8PCIgcmVwdGl0aW9uIGlzIDogIjsKICBmaW5kRWxlbWVudCh2LCBrKTsKfQo=