本地莫名卡死。
交上去显示内存错误(RE)
别问为什么用对顶堆,问就是老师要求用
#include<bits/stdc++.h>
#define int long long
#define MAXN 114514
using namespace std;
int n,w,per,a[MAXN];
priority_queue<int,vector<int>,greater<int> > q1;
priority_queue<int> q2;
signed main(){
cin>>n>>w;
for(int i=1;i<=n;i++){
cin>>a[i];
}
for(int i=1;i<=n;i++){
q1.push(a[i]);
per=i*w/100;
if(per<1){
per=1;
}
if(q1.top()<q2.top() and q1.size()!=0 and q2.size()!=0){
int t=q2.top();
q2.pop();
q2.push(q1.top());
q1.pop();
q1.push(t);
}
while(q1.size()!=per){
if(q1.size()<per){
q1.push(q2.top());
q2.pop();
}
else{
q2.push(q1.top());
q1.pop();
}
}
cout<<q1.top()<<" ";
}
return 0;
}