Ограничения: время – 250ms/500ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Космические пираты преследуют новейший гравитационный корабль Основания "Далекая Звезда". Корабль
находится в точке с координатами `(0,0,0)` и летит c постоянной скоростью строго по прямой в направлении
безопасной планеты-убежища
с координатами `(X,Y,Z)`.
Корабли пиратов находятся в известных точках пространства, могут двигаться в
любых направлениях и имеют некоторую силу и скорость. Пиратам известны курс и
скорость "Далекой Звезды", они согласуют
действия между собой и действуют оптимальным образом. "Далекая Звезда" достаточно
хорошо защищена, поэтому может отбиться от пиратских кораблей с суммарной силой `P` одновременно.
Но если в одной точке пространства с "Далекой Звездой" одновременно окажутся
пиратские корабли с суммарной силой `P+1` или больше, то они смогут преодолеть защиту
и взять корабль на абордаж. Найдите минимальную скорость движения, с которой "Далекой Звезде" удастся
добраться до цели и не быть пойманной пиратами.
В первой строке ввода указаны пять целых чисел: координаты цели полета `X,Y,Z` (не превышают `10^3` по модулю,
не совпадают с `(0,0,0)`), сила защиты корабля `P` (`0<=P<10^6`) и количество пиратских кораблей `N` (`1<=N<=10^3`).
Затем следует `N` строк, содержащих по пять целых чисел и описывающих каждый из пиратских
кораблей: его координаты `x_i, y_i, z_i` (не превышают `10^3` по модулю), максимальную
скорость `M_i` (`1<=M_i<=10`) и силу `S_i` (`1<=S_i<=10^3`). Суммарная сила пиратов
строго больше `P`. Ни один пиратский корабль не находится в точках `(0,0,0)` или `(X,Y,Z)`.
Координаты нескольких кораблей могут совпадать.
Выведите единственное вещественное число -- минимальную
скорость "Далекой Звезды", достаточную для достижения цели. Абсолютная или относительная
погрешность ответа не должна превышать `10^{-6}`. Гарантируется, что
во всех тестах требуемая скорость не превышает `3*10^6`. Если спастись от пиратов невозможно
при любом значении скорости, выведите `-1`.
```sample Пример ввода 1
2 2 0 1 2
1 1 0 10 1
3 2 0 1 1
```
```sample Пример вывода 1
2.8284271
```
```sample Пример ввода 2
0 10 0 0 1
3 4 0 2 100
```
```sample Пример вывода 2
3.3333333
```
*Пояснение к примерам.*
* В первом случае: если скорость корабля будет меньше, чем `sqrt(8)`, то первый пират встретит его по пути и сможет сопровождать, а второй пират успеет присоединиться к первому прямо перед планетой-целью.
* Во втором случае: при скорости меньшей, чем `10/3`, пират сможет перехватить корабль в точке `(0, 6.25, 0)` в момент времени `1.875`.