[C++] simple easy solution
\nprivate:\n    stack<int> s1;    \n    stack<int> s2;   //for containing min value at top \npublic:\n    void push(int x) {\n\t    s1.push(x);\n\t    if(s2.emp
```\nprivate:\n    stack<int> s1;    \n    stack<int> s2;   //for containing min value at top \npublic:\n    void push(int x) {\n\t    s1.push(x);\n\t    if(s2.empty() || x<=s2.top()) s2.push(x);\t    \n    }\n    void pop() {\n\t    if(s1.top()==s2.top()) s2.pop();\n\t    s1.pop();\n    }\n    int top() {\n\t    return s1.top();\n    }\n    int getMin() {\n\t    return s2.top();\n    }\n```
['Stack', 'C', 'C++']