链接:排队
66分
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,a;
deque<int>x;
cin>>n;
for(int i=0;i<n;i++){
cin>>a;
if(a==3){
map<int,int>m;
set<int>s;
for(int j:x){
m[j]++;
s.insert(j);
}x.clear();
for(auto j:s)
for(int k=0;k<m[j];k++)
x.push_back(j);
}if(a==2){
cout<<x.front()<<"\n";
x.pop_front();
}if(a==1){
cin>>a;
x.push_back(a);
}
}return 0;
}
主要就是把a==3的情况优化,其他情况都是O(1)