Katina_

Mixed Up List

Jun 22nd, 2019
220
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace MixedUpLists
  6. {
  7.     class Program
  8.     {
  9.         static void Main(string[] args)
  10.         {
  11.             List<int> firstNums = Console.ReadLine()
  12.                 .Split()
  13.                 .Select(int.Parse)
  14.                 .ToList();
  15.  
  16.             List<int> secondNums = Console.ReadLine()
  17.                 .Split()
  18.                 .Select(int.Parse)
  19.                 .ToList();
  20.  
  21.             List<int> newList = new List<int>();
  22.             List<int> maxList = new List<int>();
  23.             List<int> finalList = new List<int>();
  24.  
  25.             int firstNum = 0;
  26.             int secondNum = 0;
  27.             int last = 0;
  28.             int previous = 0;
  29.  
  30.             if (firstNums.Count > secondNums.Count)
  31.             {
  32.                 maxList = firstNums;
  33.             }
  34.  
  35.             else
  36.             {
  37.                 maxList = secondNums;
  38.                 maxList.Reverse();
  39.             }
  40.  
  41.             for (int i = 0; i < maxList.Count; i++)
  42.             {
  43.                 last = maxList[maxList.Count - 1];
  44.                 previous = maxList[maxList.Count - 2];
  45.             }
  46.  
  47.             for (int i = 0; i < firstNums.Count; i++)
  48.             {
  49.                 newList.Add(firstNums[i]);
  50.             }
  51.  
  52.             newList.Remove(previous);
  53.             newList.Remove(last);
  54.  
  55.             for (int i = 0; i < secondNums.Count; i++)
  56.             {
  57.                 newList.Add(secondNums[i]);
  58.             }
  59.  
  60.             if(previous > last)
  61.             {
  62.                 firstNum = last;
  63.                 secondNum = previous;
  64.             }
  65.  
  66.             else
  67.             {
  68.                 secondNum = last;
  69.                 firstNum = previous;
  70.             }
  71.  
  72.             for (int i = 0; i < newList.Count; i++)
  73.             {
  74.                 if(newList[i] > firstNum && newList[i] < secondNum)
  75.                 {
  76.                     finalList.Add(newList[i]);
  77.                 }
  78.             }
  79.  
  80.             finalList.Sort();
  81.  
  82.             Console.WriteLine(string.Join(" ", finalList));
  83.  
  84.         }
  85.     }
  86. }
RAW Paste Data