Ограничения: время – 500ms/1000ms, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Опасаясь нападения Империи, все последователи Гэри Селдона эвакуируются на огромную
космическую станцию "Третье Основание". Станция состоит из отдельных модулей, связанных жестким невесомым каркасом.
Для каждого модуля известно его положение в пространстве и масса. Чтобы станцией было легче управлять,
её центр тяжести должен располагаться в точке с координатами `(0,0,0)`. Чтобы достичь этого,
можно переместить какой-нибудь один модуль.
При этом расстояние, на которое модуль перемещается,
должно быть минимальным (чтобы не тратить зря энергию). По заданной
информации о станции определите, какой из модулей нужно переместить и на какое расстояние.
В первой строке ввода находится одно целое число `N` (`1<=N<=10^5`) -- количество модулей. Каждая из `N` последующих
строк содержит по четыре целых числа, описывающих модуль: координаты модуля `x_i, y_i, z_i` (`-10^5<=x_i,y_i,z_i<=10^5`)
и его масса `M_i` (`1<=M_i<=10^5`). Гарантируется, что центр тяжести станции не находится в точке `(0,0,0)`.
Выведите два числа: номер модуля, который нужно переместить (от 1 до `N`), и расстояние, на которое он должен переместиться,
чтобы центр тяжести станции оказался в точке с координатами `(0,0,0)`. Относительная погрешность
вычисленного расстояния не должна превышать `10^{-6}`. Если есть несколько вариантов с одинаковым
минимальным расстоянием, выведите тот, в котором номер перемещаемого модуля минимален.
```sample Пример ввода
2
-1 0 0 10
1 0 0 20
```
```sample Пример вывода
2 0.5000000
```
Координаты центра тяжести можно рассчитать по формулам
`{ (x_{"ЦТ"}=(sum_{i=1}^N M_i*x_i)/(sum_{i=1}^N M_i)), (y_{"ЦТ"}=(sum_{i=1}^N M_i*y_i)/(sum_{i=1}^N M_i)), (z_{"ЦТ"}=(sum_{i=1}^N M_i*z_i)/(sum_{i=1}^N M_i)) :}`
*Пояснение к примеру:* Центр тяжести станции до перемещения находится в точке `(1//3, 0, 0)`.
Можно переместить первый модуль на расстояние 1 в точку `(-2, 0, 0)`, либо второй модуль
на расстояние `1//2` в точку `(1/2, 0, 0)`. Во втором варианте расстояние перемещения меньше.