Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- namespace Task01CubicArtillery
- {
- using System;
- using System.Collections.Generic;
- using System.Linq;
- public class CubicArtillery
- {
- public static void Main(string[] args)
- {
- var maximumCapacity = int.Parse(Console.ReadLine());
- var input = Console.ReadLine();
- var bunkers = new Queue<char>();
- var weapons = new Queue<Queue<int>>();
- while (input != "Bunker Revision")
- {
- var inputElements = input.Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries).ToArray();
- foreach (var element in inputElements)
- {
- int number;
- if (!int.TryParse(element, out number))
- {
- bunkers.Enqueue(char.Parse(element));
- weapons.Enqueue(new Queue<int>());
- }
- else
- {
- while (bunkers.Count > 1)
- {
- for (var i = 0; i < weapons.Count; i++)
- {
- if (weapons.Peek().Sum() == 0 && number > maximumCapacity)
- {
- weapons.Dequeue();
- Console.WriteLine($"{bunkers.Dequeue()} -> Empty");
- break;
- }
- if (weapons.Peek().Sum() + number > maximumCapacity)
- {
- Console.WriteLine($"{bunkers.Dequeue()} -> {string.Join(", ", weapons.Dequeue())}");
- break;
- }
- weapons.Peek().Enqueue(number);
- }
- }
- if (number <= maximumCapacity)
- {
- while (weapons.Peek().Sum() + number > maximumCapacity)
- {
- weapons.Peek().Dequeue();
- }
- weapons.Peek().Enqueue(number);
- }
- }
- }
- input = Console.ReadLine();
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement