#include <bits/stdc++.h>
using namespace std; const int maxn = 1000000 + 10; int vis[maxn]; int main() { int T;scanf("%d",&T); while(T--){ int n;scanf("%d",&n); priority_queue<int,vector<int>,greater<int> >q; memset(vis,0,sizeof vis); char ope[4]; int x; while(n--){ scanf("%s",ope); if(ope[0] == 'b'){ scanf("%d",&x); vis[x] ++; if(vis[x] == 1)q.push(x); } if(ope[0] == 'c'){ scanf("%d",&x); vis[x] --; if(vis[x] == 1)q.push(x); } if(ope[0] == 'q'){ while(!q.empty() && vis[q.top()] != 1){ q.pop(); } if(q.empty())puts("none"); else printf("%d\n",q.top()); } } } return 0;}
题目见 http://blog.csdn.net/jnxxhzz/article/details/60966903
set做法