POJ 3481 set水过

题意:1表示插入客户K,他的优先级是P(相当于大小),2表示输出当前优先级最高的客户(即找出最大值),并且删除。3同理输出最低级的。
这题可以用splay treap AVL SBT …… (可是我并不会)
这里set水过。。

#include <set>
#include <cstdio>
using namespace std;
set<pair<int,int> >s;
set<pair<int,int> >::iterator it;
int main(){
    int p,xx,yy;
    while(scanf("%d",&p)&&p){
        if(p==1){scanf("%d%d",&xx,&yy),s.insert(make_pair(yy,xx));continue;}
        else if(s.empty()){puts("0");continue;}
        else if(p==3) it=s.begin();
        else it=--s.end();
        printf("%d
",(*it).second),s.erase(it);
    }
}
原文地址:https://www.cnblogs.com/SiriusRen/p/6532444.html