vector<int> iterator iter;
元素迭代器
#include<bits/stdc++.h>
using namespace std;
stack<int> st;
vector<int> v;
int main(){
int n;
cin>>n;
v.push_back(0);
while(n--){
string s;
cin>>s;
vector<int>::iterator iter;
if(s=="Pop"){
if(st.size()==0)cout<<"Invalid"<<'\n';
else {
iter=lower_bound(v.begin(),v.end(),st.top());
cout<<st.top()<<'\n';
st.pop();
v.erase(iter);
}
}
else if(s=="PeekMedian"){
if(st.size()==0)cout<<"Invalid"<<'\n';
else {
if(st.size()%2==0)cout<<v[(st.size()/2)]<<'\n';
else cout<<v[(st.size()+1)/2]<<'\n';
}
}
else {
int a;
cin>>a;
iter=lower_bound(v.begin(),v.end(),a);
st.push(a);
v.insert(iter,a);
}
}
return 0;
}