kalinkata

Maximum Element

Jan 19th, 2018
192
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.53 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3.  
  4. class MaximumElement
  5. {
  6.     static void Main()
  7.     {
  8.         int n = int.Parse(Console.ReadLine());
  9.  
  10.         Stack<int> stack = new Stack<int>();
  11.         Stack<int> stackMax = new Stack<int>();
  12.  
  13.         int max = 1;
  14.  
  15.         for (int i = 0; i < n; i++)
  16.         {
  17.             string[] query = Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
  18.  
  19.             string queryType = query[0];
  20.  
  21.             switch (queryType)
  22.             {
  23.                 case "1":
  24.                     int elementX = int.Parse(query[1]);
  25.                     stack.Push(elementX);
  26.  
  27.                     if (max < elementX)
  28.                     {
  29.                         max = elementX;
  30.                         stackMax.Push(max);
  31.                     }
  32.                     break;
  33.                 case "2":
  34.                     if (stack.Count > 0)
  35.                     {
  36.                         int deleted = stack.Pop();
  37.  
  38.                         if (deleted == stackMax.Peek())
  39.                         {
  40.                             stackMax.Pop();
  41.                             max = 1;
  42.                         }
  43.  
  44.                     }
  45.                    
  46.                     break;
  47.                 case "3":
  48.                     if (stack.Count > 0)
  49.                     {
  50.                         Console.WriteLine(stackMax.Peek());
  51.                     }
  52.                     break;
  53.                 default:
  54.                     break;
  55.             }
  56.         }
  57.     }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment