Aliendreamer

maximum element homework

May 10th, 2018
190
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.78 KB | None | 0 0
  1. namespace _03.Maximum_Element
  2. {
  3.     using System;
  4.     using System.Collections.Generic;
  5.     using System.Linq;
  6.  
  7.     public class MaxElement
  8.     {
  9.         public static void Main()
  10.         {
  11.             int queriesCount = int.Parse(Console.ReadLine());
  12.             var elements = new Stack<int>();
  13.             var maxElements = new Stack<int>();
  14.  
  15.             for (int i = 0; i < queriesCount; i++)
  16.             {
  17.                 var args = Console.ReadLine()
  18.                     .Trim()
  19.                     .Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
  20.                     .Select(int.Parse)
  21.                     .ToArray();
  22.  
  23.                 switch (args[0])
  24.                 {
  25.                     case 1:
  26.                         int currentElement = args[1];
  27.                         elements.Push(currentElement);
  28.  
  29.                         if (maxElements.Count == 0 || maxElements.Peek() < currentElement)
  30.                         {
  31.                             maxElements.Push(currentElement);
  32.                         }
  33.                         break;
  34.                     case 2:
  35.                         if (elements.Count != 0)
  36.                         {
  37.                             int removedElement = elements.Pop();
  38.                             if (maxElements.Count != 0 && maxElements.Peek() == removedElement)
  39.                             {
  40.                                 maxElements.Pop();
  41.                             }
  42.                         }
  43.                         break;
  44.                     case 3:
  45.                         if (maxElements.Count != 0)
  46.                         {
  47.                             Console.WriteLine(maxElements.Peek());
  48.                         }
  49.                         break;
  50.                 }
  51.             }
  52.         }
  53.     }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment