本地是DevC++5.11,使用TDM-GCC 4.9.2 64bit Release运行无误
#include<bits/stdc++.h>
using namespace std;
priority_queue<int,vector<int>,greater<int> >qp;
priority_queue<int>pq;
int main(){
int n,a;
cin>>n>>a;
pq.push(a);
cout<<pq.top()<<endl;
for(int i=2;i<=n;i++){
int t;
cin>>t;
if(t>pq.top())qp.push(t);
else pq.push(t);
while(abs(pq.size()-qp.size())>1){
if(pq.size()>qp.size()){
qp.push(pq.top());
pq.pop();
}
else{
pq.push(qp.top());
qp.pop();
}
if(i%2){
if(pq.size()>qp.size())cout<<pq.top()<<endl;
else cout<<qp.top()<<endl;
}
}
}
return 0;
}
评测错误提示:
调用重载abs(std::priority_queue::size_type)有歧义