#include<bits/stdc++.h>
using namespace std;
int a[5000005],ans=0;
int main()
{
int n,m;
cin>>n;
stack<int> stk;
while(n--){
int z;
cin>>z;
if(z==0){
cin>>m;
stk.push(m);
a[m]++;
ans=max(ans,stk.top());
}
else if(z==1){
a[stk.top()]--;
if(ans==stk.top()){
ans=0;
for(int i=stk.top();i>0;i--){
if(a[i]!=0){
ans=i;
break;
}
}
}
stk.pop();
}else{
cout<<ans<<endl;
}
}
return 0;
}
测试点信息