社区讨论

求条

P1168中位数参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@mli24oq2
此快照首次捕获于
2026/02/11 21:20
4 周前
此快照最后确认于
2026/02/11 22:20
4 周前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
int n,x;
priority_queue <int,vector<int>,less<int> > q1;
priority_queue <int,vector<int>,greater<int> > q2;
signed main(){
	scanf("%d",&n);
	for(int i=1;i<=n;i++){
		scanf("%d",&x);
		if(q1.empty()||x<=q1.top()) q1.push(x);
		else q2.push(x);
		if(i&1){
			while(q1.size()<(i+1)/2){
				q1.push(q2.top());
				q2.pop();
			}
			while(q2.size()>(i+1)/2){
				q2.push(q1.top());
				q1.pop();
			}
			printf("%d\n",q1.top());
		}
	}
	return 0;
}

回复

0 条回复,欢迎继续交流。

正在加载回复...