Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <climits>
- #include <stack>
- #include <string>
- #include <vector>
- #include <sstream>
- using namespace std;
- int minimum(stack<int> buffer)
- {
- int min = INT_MAX;
- while(buffer.size())
- {
- int top = buffer.top();
- buffer.pop();
- if(top < min)
- min = top;
- }
- return min;
- }
- int maximum(stack<int> buffer)
- {
- int max = INT_MIN;
- while(buffer.size())
- {
- int top = buffer.top();
- buffer.pop();
- if(top > max)
- max = top;
- }
- return max;
- }
- int main()
- {
- stack<int> buffer;
- int commands;
- cin >> commands;
- while(commands--)
- {
- int command, number;
- cin >> command;
- switch(command)
- {
- case 1:
- cin >> number;
- buffer.push(number);
- break;
- case 2:
- if(buffer.size())
- buffer.pop();
- break;
- case 3:
- if(buffer.size())
- cout << maximum(buffer) << endl;
- break;
- case 4:
- if(buffer.size())
- cout << minimum(buffer) << endl;
- break;
- }
- }
- while(buffer.size())
- {
- cout << buffer.top();
- buffer.pop();
- if(buffer.size())
- cout << ", ";
- }
- cout << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement