1 class TopVotedCandidate 2 { 3 public: 4 vector<pair<int,int>> List; 5 TopVotedCandidate(vector<int> persons, vector<int> times) 6 { 7 map<int,int> 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 else 18 { 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 };