gabi11

Stacks and Queues - 03. Maximum and Minimum Element

May 10th, 2019
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.48 KB | None | 0 0
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using System.Text;
  6.  
  7. namespace Advanced
  8. {
  9.     class Program
  10.     {
  11.         static void Main(string[] args)
  12.         {
  13.             int n = int.Parse(Console.ReadLine());
  14.             var stack = new Stack<int>();
  15.  
  16.             for (int i = 0; i < n; i++)
  17.             {
  18.                 var numbers = Console.ReadLine().Split().Select(int.Parse).ToArray();
  19.  
  20.                 var command = numbers[0];
  21.  
  22.                 switch (command)
  23.                 {
  24.                     case 1:
  25.                         var numberToAdd = numbers[1];
  26.                         stack.Push(numberToAdd);
  27.                         break;
  28.  
  29.                     case 2:
  30.                         if (stack.Count != 0)
  31.                         {
  32.                             stack.Pop();
  33.                         }
  34.                         break;
  35.  
  36.                     case 3:
  37.                         if (stack.Count != 0)
  38.                         {
  39.                             Console.WriteLine(stack.ToArray().Max());
  40.                         }
  41.                         break;
  42.  
  43.                     case 4:
  44.                         if (stack.Count != 0)
  45.                         {
  46.                             Console.WriteLine(stack.ToArray().Min());
  47.                         }
  48.                         break;
  49.                 }
  50.             }
  51.             Console.WriteLine(string.Join(", ", stack));
  52.         }
  53.     }
  54. }
Advertisement
Add Comment
Please, Sign In to add comment