1 #include<iostream> 2 #include<cstdio> 3 #include<set> 4 #include<utility> 5 using namespace std; 6 int flag=1; 7 typedef pair<int,int> p; 8 typedef set<p>::iterator setit; 9 set<p> s; 10 int main(){ 11 while(flag){ 12 scanf("%d",&flag); 13 if(!flag) break; 14 if(flag==2) { 15 if(s.empty()) { 16 printf("%d\n",0);continue; 17 } 18 setit i=--s.end(); 19 printf("%d\n",(*(i)).second); 20 s.erase(i); 21 } 22 if(flag==3) { 23 if(s.empty()) { 24 printf("%d\n",0);continue; 25 } 26 setit i=s.begin(); 27 printf("%d\n",(*(i)).second); 28 s.erase(i);} 29 if(flag==1){ 30 int x,y; 31 scanf("%d%d",&x,&y); 32 s.insert(make_pair(y,x)); 33 } 34 } 35 return 0; 36 }
原文:https://www.cnblogs.com/yu-xing/p/10351286.html