Професионална програма
Loading...
Nikodon avatar Nikodon 3 Точки

7. Truck Tour - C# Advance exercises

Привет, колеги, може ли малко помощ по кода. Дава ми резултата, по условие, но в джъдж ми дава 0/100.

Ако някой може да помогне ще съм благодарен:

Ето условието и кода:

Problem 7.  Truck Tour

https://pastebin.com/1n9qADm5?fbclid=IwAR3IVDzepshFl5-ywvcnw-iidY8Vl00go0mfiZYO4AmWrC8i8wZRPYV5a-8

Suppose there is a circle. There are N petrol pumps on that circle. Petrol pumps are numbered 0 to (N−1) (both inclusive). You have two pieces of information corresponding to each of the petrol pump: (1) the amount of petrol that particular petrol pump will give, and (2) the distance from that petrol pump to the next petrol pump.

Initially, you have a tank of infinite capacity carrying no petrol. You can start the tour at any of the petrol pumps. Calculate the first point from where the truck will be able to complete the circle. Consider that the truck will stop at each of the petrol pumps. The truck will move one kilometer for each liter of the petrol.

Input

  • The first line will contain the value of N
  • The next N lines will contain a pair of integers each, i.e. the amount of petrol that petrol pump will give and the distance between that petrol pump and the next petrol pump

Output

  • An integer which will be the smallest index of the petrol pump from which we can start the tour

Constraints

  • 1 ≤ N ≤ 1000001
  • 1 ≤ Amount of petrol, Distance ≤ 1000000000

Examples

Input

Output

3

1 5

10 3

3 4

1

Тагове:
0
C# Advanced
knoteva avatar knoteva 1085 Точки
Best Answer

Здравей,

"Console.WriteLine(counter);" трябва да е извън while цикъла.

0
Nikodon avatar Nikodon 3 Точки

Много ти благодаря :)

1
Elena123456 avatar Elena123456 190 Точки

Здравейте, извинявам се, че пиша във вашата тема, но просто не мога да отворя нова такава. Дано админите скоро да отстранят проблема.

Имам решение на задачата, което е 100/100- https://pastebin.com/BXMje8J3 , но е с цели три опашки. Опитвам се да я  пренапиша, като използвам само една опашка, в която да държа три int числа: petrol, distance и index. Ще използвам същата логика, като в предходното ми решение. Затруднявам се със синтаксиса, тъй като още не сме учили опашки от масиви или от листове.

Ето до къде стигнах и не успявам да продължа по-нататъка:

            int numbersOfPumps = int.Parse(Console.ReadLine());          
            var queuePetrolDistanceIndexx = new Queue<List<int>>();
            for (int i = 0; i < numbersOfPumps; i++)
            {
                int[] input = Console.ReadLine().Split().Select(int.Parse).ToArray();
                int petrolInThePump = input[0];
                int distanceBetwenTheNext = input[1];
                int indexx = i;
                queuePetrolDistanceIndexx.Enqueue(new List<int>());

Опашките нямат нещо подобно на InsertRange(), като при листовете, нито мога да достъпя листа в опашката, както при речника от листове можех. Моля за помощ, как да кача и трите числа заедно в една опашка, вместо да използвам три отделни опашки.

 

0
13/12/2020 17:07:09