POJ-3481(set的应用)

来源:互联网 发布:什么是工程数据 编辑:程序博客网 时间:2024/05/16 01:41

优先队列,只能访问第一个,不能访问最后一个;

set既可以访问第一个,也可以访问最后一个;

struct my{int k, p;} P;bool operator < (my a, my b){return a.p < b.p;}int main(){int n;set<my>s;s.clear();while (cin>>n, n) {if (n == 1) {int k, p;cin>>k>>p;P.k = k;P.p = p;s.insert(P);} else if (n == 2) {if (!s.empty()) {int t = s.rbegin()->k;printf("%d\n", t);s.erase(*(s.rbegin()));} else {printf("0\n");}} else {if (!s.empty()) {int t = s.begin()->k;printf("%d\n", t);s.erase(*(s.begin()));} else {printf("0\n");}}}return 0;}