class Solution { public: void push(int value) { x.push_back(value); if(x.size()==1){ m.push_back(value); } else{ if(m[m.size()-1]<value){ value=m[m.size()-1]; } m.push_back(value); } } void pop() { x.erase(x.end()-1); m.erase(m.end()-1); } int top() { return x[x.size()-1]; } int min() { return m[m.size()-1]; } vector<int> x,m; };