Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- namespace SecondNature
- {
- class SecondNature
- {
- static void Main(string[] args)
- {
- var flowers = Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
- var buckets = Console.ReadLine().Split().Select(int.Parse).ToArray();
- var queueFlowers = new Queue<int>(flowers);
- var stackBuckets = new Stack<int>(buckets);
- var secondNature = new Queue<int>();
- while (queueFlowers.Count!=0 && stackBuckets.Count != 0)
- {
- var currFlower = queueFlowers.Dequeue();
- var currBucket = stackBuckets.Pop();
- if (currBucket > currFlower)
- {
- currBucket -= currFlower;
- if (stackBuckets.Count>0)
- {
- currBucket += stackBuckets.Pop();
- }
- stackBuckets.Push(currBucket);
- }
- else if (currBucket < currFlower)
- {
- while (currBucket<= currFlower && stackBuckets.Count!=0)
- {
- currBucket += stackBuckets.Pop();
- }
- if (currBucket == currFlower)
- {
- secondNature.Enqueue(currFlower);
- }
- else if (currBucket> currFlower)
- {
- currBucket -= currFlower;
- if (stackBuckets.Count>0)
- {
- currBucket += stackBuckets.Pop();
- }
- stackBuckets.Push(currBucket);
- }
- else
- {
- currFlower -= currBucket;
- var list = queueFlowers.ToList();
- list.Insert(0, currFlower);
- queueFlowers = new Queue<int>(list);
- }
- }
- else
- {
- secondNature.Enqueue(currFlower);
- }
- }
- if (stackBuckets.Count > 0)
- {
- Console.WriteLine(string.Join(" ", stackBuckets));
- }
- else
- {
- Console.WriteLine(string.Join(" ", queueFlowers));
- }
- if (secondNature.Count > 0)
- {
- Console.WriteLine(string.Join(" ", secondNature));
- }
- else
- {
- Console.WriteLine("None");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement