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 };