前缀中位数

jiaoyuyuan 2024-01-13 16:28:57 1 返回题目

#include<bits/stdc++.h>

using namespace std;

priority_queue<int,vector, greater >q1;

priority_queueq2;

int main(){

int n,i,x;
cin>>n;
for(i=1;i<=n;i++){
	cin>>x;
	q1.push(x);
	if(i%2==1){
		int t1=(i+1)/2;
		int t2=i/2;
		while(q1.size()>t1){
			int x=q1.top();
			q1.pop();
			q2.push(x);
		}
		while(!q1.empty()&&!q2.empty()&&q1.top()<q2.top()){
			 int x=q1.top();
			 q1.pop();
			 int y=q2.top();
			 q2.pop();
			 q1.push(y);
			 q2.push(x);
		}
		cout<<q1.top()<<'\n';
	}
}
return 0;

}

{{ vote && vote.total.up }}