Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- namespace FashionBoutique
- {
- class Program
- {
- static void Main(string[] args)
- {
- //Прочитаме двата входа от конзолата - колекция от дрехи и капацитет на щендера.
- int[] clothesInBox = Console.ReadLine()
- .Split(" ", StringSplitOptions.RemoveEmptyEntries)
- .Select(int.Parse)
- .ToArray();
- int capacityOfRack = int.Parse(Console.ReadLine());
- //Дефинираме стек - кашона, в който се доставят дрехите.
- //Първи вариант: Зареждаме стека, като директно поставяме масива в кръглите скоби.
- //Stack<int> box = new Stack<int>(clothesInBox);
- //Втори вариант - зареждаме стека с for-цикъл.
- Stack<int> box = new Stack<int>();
- for (int i = 0; i < clothesInBox.Length; i++)
- {
- box.Push(clothesInBox[i]);
- }
- //Дефинираме две променливи - сумата на стойностите на дрехите върху щендера
- //и броя на щендерите.
- int sumOfClothes = 0;
- int countOfRacks = 1;
- //Въртим цикъл, докато свършат дрехите в кашона:
- while (box.Count > 0)
- {
- //Проверяваме дали стойността най-горната дреха може да се постави на щендера.
- if (box.Peek() <= capacityOfRack - sumOfClothes)
- {
- //Дефинираме променлива, в която запазваме стойността на най-горната дреха.
- int topItem = box.Pop();
- //Дефинираме стек - поставяме я на щендера и добавяме стойността й към сумата.
- sumOfClothes += topItem;
- }
- else
- {
- countOfRacks++;
- sumOfClothes = 0;
- }
- }
- Console.WriteLine(countOfRacks);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment