Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package stacksAndQueues;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.ArrayDeque;
- import java.util.Deque;
- public class MaximumElements {
- public static void main(String[] args) throws IOException {
- BufferedReader scanner = new BufferedReader(new InputStreamReader(System.in));
- ArrayDeque<Integer> stack = new ArrayDeque<>();
- int n = Integer.parseInt(scanner.readLine());
- int maxElement = Integer.MIN_VALUE;
- StringBuilder sb = new StringBuilder(n);
- for (int i = 0; i <n; i++) {
- String[] input = scanner.readLine().split(" ");
- switch (input[0]) {
- case "1":
- int el = Integer.parseInt(input[1]);
- stack.push(el);
- if (maxElement < el) maxElement = el;
- break;
- case "2":
- el = stack.pop();
- if (el == maxElement) maxElement = maxEl(stack);
- break;
- case "3":
- sb.append(maxElement).append(System.lineSeparator());
- break;
- }
- }
- System.out.println(sb.toString());
- }
- static int maxEl(Deque<Integer> stack) {
- int bestInt = Integer.MIN_VALUE;
- for (Integer integer : stack) {
- if (integer>bestInt){
- bestInt = integer;
- }
- }
- return bestInt;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement