Для решения данной задачи, нужно определить границу для времени B, чтобы правильно выбрать между двумя стратегиями.
Обозначим скорости четырех персонажей:
- A (t1) — время прохождения туннеля для первого человека.
- B (t2) — время прохождения туннеля для второго человека (которое мы ищем).
- C (t3) — время прохождения туннеля для третьего человека.
- D (t4) — время прохождения туннеля для четвертого человека.
Согласно задаче, время A, C и D даны, и мы должны выяснить, какое время t2 (для B) является критическим. Если t2 меньше этой границы, то выгоднее использовать вторую стратегию.
Определение границы
Для выбранной стратегии есть два возможных варианта:
- Первая стратегия (1) — максимальная скорость у самой медленной пары.
- Вторая стратегия (2) — необходимо учитывать, когда B быстрее или равен некоторым критическим значениям.
Теперь давайте определим границу border для B:
Первая стратегия:
- Время прохождения группой будет равно: \( t1 + t1 + t3 + t1 + t4 \)
Вторая стратегия:
- Время будет равно: \( t1 + t1 + t4 + t2 + t2 \)
Цель состоит в том, чтобы найти border, такое что, когда время B меньше этого значения, вторая стратегия будет предпочтительнее.
Для 1) и 2) у нас есть следующий результат:
- Если \( t2 < \frac{(t4 - t1) + (t3 - t1)}{2} + t1 \), то вторая стратегия выгоднее.
Это дает динамическое соотношение между обозначениями.
Реализация на Python
Вот код, который реализует данную логику:
# Считываем входные данные
t1, t3, t4 = map(int, input().split())
# Находим границу b
border = (t4 - t1 + t3 - t1) / 2 + t1
# Выводим результат
print(f"{border:.1f}")
Объяснение кода
- Мы считываем значения времени для персонажей A, C и D.
- Рассчитываем границу, используя формулу, чтобы выяснить, когда вторая стратегия предпочтительнее.
- Выводим границу с одним знаком после десятичной точки.
Запустив этот код, вы получите границу времени B, которая поможет определить, какую стратегию использовать для минимизации времени прохождения группы.