GetMin 用 multiset 水过,带 log,不符合题目要求 $O(1)$ 询问(雾)
class MinStack {
public:
int to, stk[100005];
multiset<int> st;
MinStack() {
st.clear();
to = 0;
memset(stk, 0, sizeof stk);
}
void push(int x) {
stk[++to] = x;
st.insert(x);
}
void pop() {
int se = stk[to--];
st.erase(se);
}
int top() {
return stk[to];
}
int getMin() {
return *st.begin();
}
};