Loading...
LyuboPoptodorov avatar LyuboPoptodorov 1 Точки

Работи 100/100 решение с опашка , кратко и ясно.

 

namespace ex7
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int petrolPumps = int.Parse(Console.ReadLine());
            Queue<string> data = new Queue<string>();

            for (int i = 0; i < petrolPumps; i++) // initializing the pumps data
            {
                string pumpsData = Console.ReadLine();
                data.Enqueue(pumpsData);
            }

            int fuel = 0; // al the fuel that we have initially
            int bestIndex = 0; // the smallest one
            bool isBestForNow = true; // if the current pump is best for now

            for (int i = 0; i < petrolPumps; i++)
            {
                int[] pumpsDataArgs = data.Peek().Split().Select(int.Parse).ToArray();
                int currentFuelLoad = pumpsDataArgs[0];
                int currentKmToRide = pumpsDataArgs[1];

                if (fuel + currentFuelLoad < currentKmToRide)
                {
                    string currentNotSatisfyingPump = data.Dequeue();
                    data.Enqueue(currentNotSatisfyingPump);

                    fuel = 0;
                    bestIndex = 0;
                    isBestForNow = false;
                }

                else
                {
                    if (isBestForNow == false)
                        bestIndex = i;

                    isBestForNow = true;
                    fuel += currentFuelLoad - currentKmToRide;
                    string currentSatisfyuingPump = data.Dequeue(); // pump that satisfy the km need to run with the fuel that we have
                    data.Enqueue(currentSatisfyuingPump);// we add it at the end of our queue
                }
            }

            Console.WriteLine(bestIndex);
        }
    }
}

0
13/06/2024 07:41:17
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.