题解
2024-08-15 21:13:03
发布于:湖南
4阅读
0回复
0点赞
创建一个大根堆(记录前半段)一个小根堆(记录后半段)
priority_queue <int> q1;
priority_queue <int, vector <int>, greater <int>> q2;
int main(){
int n = read(), x;
for(int i = 1; i <= n; i++){
x = read();
if(i & 1){//给前半段添加元素
q2.push(x);
q1.push(q2.top());
q2.pop();
write(q1.top());
putchar('\n');
}else{//给后半段添加元素
q1.push(x);
q2.push(q1.top());
q1.pop();
}
}
return 0;
}
这里空空如也
有帮助,赞一个