#include <bits/stdc++.h> #define int long long //(有超时风险) #define PII pair<int,int> #define endl '\n' #define ll long long #define LL __int128 using namespace std; const int N=2e5+10,M=1e6+10,mod=998244353,INF=0x3f3f3f3f; int a[N],b[N],pre[N]; int f[N]; signed main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); //q1存储最小未被呼叫的人 //q2存储已经被呼叫的人,mp标记这个人是否来前台过 priority_queue<int,vector<int>,greater<int>>q1,q2; int n,m;cin>>n>>m; for(int i=1;i<=n;i++) { q1.push(i); } map<int,bool>mp; for(int i=1;i<=m;i++) { int t;cin>>t; if(t==1) { int tmp=q1.top();q1.pop(); q2.push(tmp); } if(t==2) { int x;cin>>x; mp[x]=true; } if(t==3) { while(mp[q2.top()]==true) { q2.pop(); } cout<<q2.top()<<endl; } } return 0; }
[ABC294D] Bank--优先队列
最新推荐文章于 2024-05-20 15:29:54 发布