petarkobakov

Flower Wreaths

Oct 21st, 2020 (edited)
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.02 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. namespace Flower_Wreaths
  6. {
  7. class Program
  8. {
  9. static void Main(string[] args)
  10. {
  11. int[]liliesValues = Console.ReadLine()
  12. .Split(',', StringSplitOptions.RemoveEmptyEntries)
  13. .Select(int.Parse)
  14. .ToArray();
  15.  
  16.  
  17. int[]rosesValues = Console.ReadLine()
  18. .Split(',', StringSplitOptions.RemoveEmptyEntries)
  19. .Select(int.Parse)
  20. .ToArray();
  21.  
  22. Stack<int> lilies = new Stack<int>(liliesValues);
  23. Queue<int> roses = new Queue<int>(rosesValues);
  24. List<int> storage = new List<int>();
  25. int wreathCount = 0;
  26.  
  27. while (lilies.Count > 0 && roses.Count > 0)
  28. {
  29. int currentLillies = lilies.Peek();
  30. int currentRoses = roses.Peek();
  31. int valuesSum = currentRoses + currentLillies;
  32.  
  33. if (valuesSum == 15)
  34. {
  35. wreathCount++;
  36.  
  37. lilies.Pop();
  38. roses.Dequeue();
  39. }
  40.  
  41. else if (valuesSum > 15)
  42. {
  43.  
  44. while (valuesSum >15)
  45. {
  46. currentLillies -= 2;
  47. valuesSum = currentRoses + currentLillies;
  48.  
  49. if (valuesSum == 15)
  50. {
  51. wreathCount++;
  52.  
  53. lilies.Pop();
  54. roses.Dequeue();
  55. }
  56.  
  57. else if (valuesSum < 15)
  58. {
  59. storage.Add(currentLillies);
  60. storage.Add(currentRoses);
  61.  
  62. lilies.Pop();
  63. roses.Dequeue();
  64.  
  65. break;
  66. }
  67. }
  68. }
  69.  
  70. else if (valuesSum < 15)
  71. {
  72. storage.Add(currentLillies);
  73. storage.Add(currentRoses);
  74.  
  75. lilies.Pop();
  76. roses.Dequeue();
  77. }
  78. }
  79.  
  80. if (storage.Sum() == 15)
  81. {
  82. wreathCount++;
  83. }
  84.  
  85. else if (storage.Sum() > 15)
  86. {
  87. int additionalWreaths = storage.Sum() / 15;
  88. wreathCount += additionalWreaths;
  89. }
  90.  
  91. if (wreathCount<5)
  92. {
  93. int wreathsNeeded = 5 - wreathCount;
  94. Console.WriteLine($"You didn't make it, you need {wreathsNeeded} wreaths more!");
  95. }
  96.  
  97. else
  98. {
  99. Console.WriteLine($"You made it, you are going to the competition with {wreathCount } wreaths!");
  100. }
  101.  
  102. }
  103. }
  104. }
  105.  
Advertisement
Add Comment
Please, Sign In to add comment