eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Евклидово TSP

Евклидово TSP

Знаменитый алгоритм аппроксимации Ароры-Митчелла для евклидовой задачи коммивояжера (евклидоваTSP) был открыт независимо Санджевой Аророй и Джозефом С. Б. Митчеллом в 1998 г. Он может приблизительно вычислить значение оптимального пути TSP в измерении d в пределах временного коэффициента 1 + 1 / c.

prb7855.gif

где n - количество вершин в пути.

Мирослава работает в компании компьютерной безопасности, и настало время обновить общий криптографический ключ во многих центрах обработки данных по всей Европе. Для этого Мирослава собирается арендовать частный самолет и предоставить ключ сотрудникам, ожидающим его во всех крупных европейских аэропортах. Она хочет вернуться как можно скорее.

У компании Мирославы есть компьютер, способный выполнять p миллиардов операций в секунду. Поскольку мы можем аппроксимировать Европу двумерной плоскостью, то предполагаем, что алгоритм Ароры-Митчелла работает точно

prb7855_2.gif

секунд на этом компьютере для получения точной (1 + 1 / c) - аппроксимации оптимального маршрута.

Мирослава заметила, что c является параметром алгоритма, который может быть ей полезен, однако следует быть очень осторожным при выборе правильного его значения. Если она возьмет слишком малым значение c, то алгоритм завершится очень быстро, а время, которое она проведет в Европе, будет слишком велико. С другой стороны, установка слишком высокого значения заставит ее ждать ответа от компьютера, в то время как она может летать в это время.

Мирослава раньше работала в другой компании, и оттуда она знает, что длина оптимального тура по всем крупным европейским аэропортам занимает с метров, однако она не имела достаточно высокого положения в компании, чтобы знать фактический тур. Учитывая скорость v частного самолета в метрах в секунду, Мирославе требуется s * (1 + 1 / c ) / v секунд для завершения тура, созданного алгоритмом, запущенным с параметром c. Для простоты мы предполагаем, что Мирослава может приземлиться, оставить копию личного ключа и вылететь из каждого аэропорта в одно мгновение.

Сколько времени займет у Мирославы чтобы сначала запустить алгоритм, а затем распределить все ключи, предполагая, что она выбирает оптимальный параметр c?

Входные данные

Строка содержит четыре числа:

  • число n (4n106) - количество аэропортов;

  • действительное число p (0.001p5000) - количество миллиардов операций, которое может выполнять компьютер в секунду;

  • действительное число s (106s109) - длина оптимального тура по европейским аєропортам в метрах;

  • действительное число v (50v900) - скорость частного самолета в метрах в секунду.

Все действительные числа содержат не более 10 десятичных цифр.

Выходные данные

Выведите в одной строке минимально возможное время t в секундах для распределения ключей и значение параметра c, которое Мирослава должна использовать для достижения времени t. Ваш ответ должен иметь абсолютную или относительную ошибку не более 10-6.

Лимит времени 1 секунда
Лимит использования памяти 128 MiB
Входные данные #1
10 8.9 40075000 272.1
Выходные данные #1
157079.04857106 15.598261092309
Входные данные #2
47 4.2 1337102.4 256
Выходные данные #2
5836.2936298227 8.9113418228146
Источник 2014 ACM North Western European Regional Contest (NWERC), Ноябрь 30, Задача E