Advertisement
Guest User

Untitled

a guest
Sep 5th, 2016
183
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.12 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. public class Startup
  7. {
  8. public static void Main()
  9. {
  10. var flowers = Console.ReadLine()
  11. .Split()
  12. .Select(int.Parse)
  13. .ToArray();
  14.  
  15. var buckets = Console.ReadLine()
  16. .Split()
  17. .Select(int.Parse)
  18. .ToArray();
  19.  
  20. var secondNature = new Queue<int>();
  21.  
  22. var bucket = buckets.Length - 1;
  23. var flower = 0;
  24.  
  25. while (bucket >= 0 && flower < flowers.Length)
  26. {
  27. if (buckets[bucket] == flowers[flower])
  28. {
  29. secondNature.Enqueue(flowers[flower]);
  30.  
  31. buckets[bucket] = 0;
  32. bucket--;
  33. flower++;
  34. }
  35. else if (buckets[bucket] < flowers[flower])
  36. {
  37. flowers[flower] -= buckets[bucket];
  38. buckets[bucket] = 0;
  39. bucket--;
  40. }
  41. else
  42. {
  43. buckets[bucket] -= flowers[flower];
  44. flowers[flower] = 0;
  45.  
  46. if (bucket != 0)
  47. {
  48. buckets[bucket - 1] += buckets[bucket];
  49. buckets[bucket] = 0;
  50. bucket--;
  51. }
  52.  
  53. flower++;
  54. }
  55. }
  56.  
  57. var result = new StringBuilder();
  58.  
  59. if (buckets[0] != 0)
  60. {
  61. for (int i = bucket; i >= 0; i--)
  62. {
  63. result.Append(buckets[i] + " ");
  64. }
  65. }
  66. else
  67. {
  68. for (int i = flower; i < flowers.Length; i++)
  69. {
  70. result.Append(flowers[i] + " ");
  71. }
  72. }
  73.  
  74. result.AppendLine();
  75.  
  76. if (secondNature.Any())
  77. {
  78. while (secondNature.Any())
  79. {
  80. result.Append(secondNature.Dequeue() + " ");
  81. }
  82. }
  83. else
  84. {
  85. result.Append("None");
  86. }
  87.  
  88.  
  89. Console.WriteLine(result);
  90. }
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement