fork download
  1. #include <iostream>
  2. #include <queue>
  3. using namespace std;
  4.  
  5. int N, num;
  6. priority_queue<int, vector<int>, less<int>> max_pq;
  7. priority_queue<int, vector<int>, greater<int>> min_pq;
  8.  
  9. int main()
  10. {
  11. ios_base::sync_with_stdio(false);
  12. cin.tie(0); cout.tie(0);
  13.  
  14. cin >> N;
  15. for(int i = 0; i < N; i++)
  16. {
  17. cin >> num;
  18.  
  19. if(max_pq.size() == min_pq.size())
  20. {
  21. max_pq.push(num);
  22. }
  23. else min_pq.push(num);
  24.  
  25. if(!max_pq.empty() == 0 && !min_pq.empty() == 0 && max_pq.top() > min_pq.top())
  26. {
  27. int MAX = max_pq.top();
  28. int MIN = min_pq.top();
  29.  
  30. max_pq.pop();
  31. min_pq.pop();
  32.  
  33. max_pq.push(MIN);
  34. min_pq.push(MAX);
  35. }
  36. cout << max_pq.top() << "\n";
  37. }
  38.  
  39. return 0;
  40. }
Success #stdin #stdout 0s 5552KB
stdin
7
1
5
2
10
-99
7
5
stdout
1
1
2
2
2
2
5