题解 | #新建 Microsoft Office Word 文档#
新建 Microsoft Office Word 文档
https://ac.nowcoder.com/acm/problem/17889
思路
优先队列
Code
#include <bits/stdc++.h> using namespace std; const int N = 100010; priority_queue<int,vector<int>,greater<int> >q; bool st[N]; int n,x; string s; int main(){ cin>>n; for(int i=1;i<=N;i++) q.push(i); while(n--){ cin>>s; if(s[0]=='D'){ cin>>x; if(st[x]) st[x]=false,puts("Successful"),q.push(x); else puts("Failed"); } else{ cout<<q.top()<<endl; st[q.top()]=true; q.pop(); } } return 0; }