Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace ConsoleApplication3
- {
- using System;
- using System.Collections.Generic;
- class MaximumElementInAStack
- {
- static void Main()
- {
- Stack<int> stack = new Stack<int>();
- Stack<int> maxNumbers = new Stack<int>();
- int maxElement = int.MinValue;
- int n = int.Parse(Console.ReadLine());
- for (int i = 0; i < n; i++)
- {
- string[] queryArgs = Console.ReadLine().Split();
- string query = queryArgs[0];
- if (query == "1")
- {
- int numberToPush = int.Parse(queryArgs[1]);
- stack.Push(numberToPush);
- if (numberToPush >= maxElement)
- {
- maxElement = numberToPush;
- maxNumbers.Push(maxElement);
- }
- }
- else if (query == "2")
- {
- int elementAtTop = stack.Pop();
- int currentMaxNumber = maxNumbers.Peek();
- if (elementAtTop == currentMaxNumber)
- {
- maxNumbers.Pop();
- if (maxNumbers.Count > 0)
- {
- maxElement = maxNumbers.Peek();
- }
- else
- {
- maxElement = int.MinValue;
- }
- }
- }
- else
- {
- Console.WriteLine(maxNumbers.Peek());
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment