Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.78 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6.  
  7. namespace SecondNature
  8. {
  9. class SecondNature
  10. {
  11. static void Main(string[] args)
  12. {
  13. var flowers = Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
  14. var buckets = Console.ReadLine().Split().Select(int.Parse).ToArray();
  15. var queueFlowers = new Queue<int>(flowers);
  16. var stackBuckets = new Stack<int>(buckets);
  17.  
  18.  
  19. var secondNature = new Queue<int>();
  20. while (queueFlowers.Count!=0 && stackBuckets.Count != 0)
  21. {
  22. var currFlower = queueFlowers.Dequeue();
  23. var currBucket = stackBuckets.Pop();
  24. if (currBucket > currFlower)
  25. {
  26. currBucket -= currFlower;
  27. if (stackBuckets.Count>0)
  28. {
  29. currBucket += stackBuckets.Pop();
  30. }
  31. stackBuckets.Push(currBucket);
  32. }
  33. else if (currBucket < currFlower)
  34. {
  35. while (currBucket<= currFlower && stackBuckets.Count!=0)
  36. {
  37. currBucket += stackBuckets.Pop();
  38. }
  39. if (currBucket == currFlower)
  40. {
  41. secondNature.Enqueue(currFlower);
  42. }
  43. else if (currBucket> currFlower)
  44. {
  45. currBucket -= currFlower;
  46. if (stackBuckets.Count>0)
  47. {
  48. currBucket += stackBuckets.Pop();
  49. }
  50. stackBuckets.Push(currBucket);
  51. }
  52. else
  53. {
  54. currFlower -= currBucket;
  55. var list = queueFlowers.ToList();
  56. list.Insert(0, currFlower);
  57. queueFlowers = new Queue<int>(list);
  58. }
  59. }
  60. else
  61. {
  62. secondNature.Enqueue(currFlower);
  63. }
  64. }
  65. if (stackBuckets.Count > 0)
  66. {
  67. Console.WriteLine(string.Join(" ", stackBuckets));
  68. }
  69. else
  70. {
  71. Console.WriteLine(string.Join(" ", queueFlowers));
  72. }
  73. if (secondNature.Count > 0)
  74. {
  75. Console.WriteLine(string.Join(" ", secondNature));
  76. }
  77. else
  78. {
  79. Console.WriteLine("None");
  80. }
  81. }
  82. }
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement