SHARE
TWEET

Untitled

a guest Jun 12th, 2019 63 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. using System.Text;
  5.  
  6. namespace Socks
  7. {
  8.     class Program
  9.     {
  10.         static void Main(string[] args)
  11.         {
  12.             int[] leftSockSequance = Console.ReadLine()
  13.                 .Split()
  14.                 .Select(int.Parse)
  15.                 .ToArray();
  16.  
  17.             int[] rightSockSequance = Console.ReadLine()
  18.                 .Split()
  19.                 .Select(int.Parse)
  20.                 .ToArray();
  21.  
  22.             Stack<int> leftSocks = new Stack<int>(leftSockSequance);
  23.             Queue<int> rightSocks = new Queue<int>(rightSockSequance);
  24.             List<int> pairs = new List<int>();
  25.  
  26.  
  27.             for (int i = 0; i < rightSockSequance.Length; i++)
  28.             {
  29.                 int currentLeftSock = leftSocks.Peek();
  30.                 int currentRighttSock = rightSocks.Peek();
  31.  
  32.                 if (currentLeftSock > currentRighttSock)
  33.                 {
  34.                     int pair = currentRighttSock + currentLeftSock;
  35.                     pairs.Add(pair);
  36.                     leftSocks.Pop();
  37.                     rightSocks.Dequeue();
  38.                 }
  39.                 else if (currentRighttSock > currentLeftSock)
  40.                 {
  41.                     leftSocks.Pop();
  42.                 }
  43.                 else if (currentLeftSock == currentRighttSock)
  44.                 {
  45.                     rightSocks.Dequeue();
  46.                     leftSocks.Pop();
  47.                     leftSocks.Push(currentLeftSock + 1);
  48.                 }
  49.             }
  50.  
  51.             Console.WriteLine(pairs.Max());
  52.  
  53.             foreach (var pair in pairs)
  54.             {
  55.                 Console.Write(pair + " ");
  56.             }
  57.         }
  58.     }
  59. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top