1 #define _for(i,a,b) for(int i = (a);i < b;i ++)
2 struct cmp
3 {
4 bool operator() (int a,int b)
5 {
6 return a>b;
7 }
8 };
9 class Solution
10 {
11 public:
12 vector<vector<int>> highFive(vector<vector<int>>& items)
13 {
14 vector<priority_queue<int,vector<int>,cmp>> v(1002);
15 _for(i,0,items.size())
16 {
17 if(v[items[i][0]].size() < 5)
18 {
19 v[items[i][0]].push(items[i][1]);
20 }
21 else
22 {
23 if(items[i][1] > v[items[i][0]].top())
24 {
25 v[items[i][0]].pop();
26 v[items[i][0]].push(items[i][1]);
27 }
28 }
29 }
30 vector<vector<int>> rnt;
31 _for(i,0,1001)
32 {
33 if(v[i].size()==5)
34 {
35 int sum = 0;
36 while(v[i].size())
37 {
38 sum += v[i].top();
39 v[i].pop();
40 }
41 vector<int> tmp;
42 tmp.push_back(i);
43 tmp.push_back(sum/5);
44 rnt.push_back(tmp);
45 }
46 }
47 return rnt;
48 }
49 };