1. 程式人生 > >POJ3481 Double Queue

POJ3481 Double Queue

esp turn tin flag str pair ont air namespace

 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 }

POJ3481 Double Queue