1 class TopVotedCandidate 2 { 3 public: 4 vector> List; 5 TopVotedCandidate(vector persons, vector times) 6 { 7 map m; 8 int max_count = 0; 9 int man = 0;10 for(int i = 0 ; i < times.size(); i ++)11 {12 auto tmp = m.find(persons[i]);13 if(tmp != m.end())14 {15 m[persons[i]] ++;16 }17 else18 {19 m[persons[i]] = 1;20 }21 if(m[persons[i]] >= max_count)22 {23 max_count = m[persons[i]];24 man = persons[i];25 }26 27 List.push_back(make_pair(times[i],man));28 }29 }30 31 int q(int t)32 {33 for(int i = 0; i < List.size()-1; i ++)34 {35 if(t >= List[i].first && t < List[i+1].first)36 return List[i].second;37 }38 return List[List.size()-1].second;39 }40 };