1 #include <bits/stdc++.h>
2 //道理很简单, 奇数比较中位数 小于放小根堆 大于放大根堆 其次要看的就是两个队列的元素多少 以此来判断目前的中位数 然后依次输出即可
3 using namespace std;
4 priority_queue<int,vector<int>,less<int> >q1;//大根堆
5 priority_queue<int,vector<int>,greater<int> >q2;//小根堆
6 int n;
7 int a[2000];
8 int mid;
9 int main()
10 {
11 cin>>n;
12 scanf("%d",&a[1]);
13 mid=a[1];
14 for(int i=2;i<=n;i++)
15 {
16 cin>>a[i];
17 if(a[i]>mid)
18 q2.push(a[i]);
19 else
20 q1.push(a[i]);
21 if(i%2==1)
22 {
23 while(q1.size()!=q2.size())
24 {
25 if(q1.size()>q2.size())
26 {
27 q2.push(mid);
28 mid=q1.top();
29 q1.pop();
30 }
31 else
32 {
33 q1.push(mid);
34 mid=q2.top();
35 q2.pop();
36 }
37 }
38 cout<<mid<<endl;
39 }
40 }
41 return 0;
42 }