UniLecs #149. Pit-stops

UniLecs #149. Pit-stops

UniLecs

Задача: на кольцевом треке расположены N пит-стопов. Если у спорткара случилась поломка или закончилось топливо, то пилот может доехать до ближайшего пит-стопа (можно сдать назад до питстопа, если он находится ближе всех).

Необходимо определить максимально возможное расстояние до ближайшего питстопа в случае поломки или нехватки топлива.

Входные данные: pitstops[] - массив позиций пит-стопов, Dist - общая дистанция трека.

Вывод: максимально возможное расстояние до ближайшего пит-стопа.

Пример: pitstops = [4.5, 0.5, 2, 1], Общая дистанция трека = 5.

Answer = 1.25

Идея: пусть d(i, j) - расстояние между соседними пит-стопами i и j. Тогда максимально возможное расстояние между ними будет d(i, j) / 2.

Осталось только найти наибольшее расстояние между всеми соседними пит-стопами.

Реализация:

C#

https://gist.github.com/unilecs/784e1d6903ddfb2006cffb20df053f41

Test: https://dotnetfiddle.net/IZaNca

Report Page