Advertisement
tepyotin2

Median

May 18th, 2025
463
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.74 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. int n;
  6. priority_queue<int, vector<int>, greater<int>> rv;
  7. priority_queue<int> lv;
  8. long long median;
  9.  
  10. int main(){
  11.     //freopen("median.in", "r", stdin);
  12.    
  13.     cin >> n;
  14.     cin >> median;
  15.     cout << median << '\n';
  16.     for(int i=2; i<=n; i++){
  17.         int v;
  18.         cin >> v;
  19.         if(v>median){
  20.             rv.push(v);
  21.         }else{
  22.             lv.push(v);
  23.         }
  24.         if(i%2==1){
  25.             if(rv.size()==lv.size()+2){
  26.                 lv.push(median);
  27.                 median = rv.top();
  28.                 rv.pop();
  29.                 //lv.push(rv.top());
  30.                 //rv.pop();
  31.             }else if(lv.size()==rv.size()+2){
  32.                 rv.push(median);
  33.                 median = lv.top();
  34.                 lv.pop();
  35.                 //rv.push(lv.top());
  36.                 //lv.pop();
  37.             }
  38.             //median = lv.top();
  39.             cout << median << '\n';
  40.         }
  41.     }
  42.    
  43.     return 0;
  44. }
  45.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement