熟悉multisetde用法的话,这题就可以秒A了。
<span style="font-size:14px;">#include <iostream>
#include <cstdio>
#include <set>
using namespace std;
int main(){
int n, op, x;
while(scanf("%d", &n)!=EOF){
multiset<int> s;
multiset<int>::iterator it;
for(int i = 0; i < n; i++){
scanf("%d", &op);
if(op == 1){
scanf("%d", &x);
s.insert(x);
}
else if(op == 2){
it = s.begin();
if(!s.empty())
s.erase(*it);
}
else{
it = s.end();
if(!s.empty()){
it--;
printf("%d\n", *it);
}
else
printf("0\n");
}
}
}
return 0;
}</span>