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

Трамваї у Барселоні

Трамваї у Барселоні

\includegraphics{https://static.e-olymp.com/content/7a/7ac24696eb098f949ceb367b86de2dd2bf13b3fc.jpg} Нещодавно у Барселоні трамвай включили до "ефективної" транспортної системи міста. Як і очікувалось, результатом такого рішення стала поява поламок, які відрізнялись оригінальністю та красою. Але не дивлячись на таку естетику, мер Барселони вирішив зменшити час заторів, які виникали у результаті аварій. Після ретельного вивчення проблеми, він оголосив наступну модель руху: Кожен трамвай повинен проїхати від початкової станції \textbf{P_0} до кінцевої \textbf{P_n}, побувавши на проміжних станціях \textbf{P_1}, ..., \textbf{P_\{n-1\}} саме у такому порядку. Для кожного \textbf{1} ≤ \textbf{i} ≤ \textbf{n}, нехай \textbf{S_i} - довжина шляху (секції) від \textbf{P_\{i-1\}} до \textbf{P_i}. Кожна така секція повинна бути пройдена з постійною швидкістю \textbf{v_i}, яка обирається водієм на станції \textbf{P_\{i-1\}}. Нехай \textbf{M_i} - максимально можлива швидкість трамвая на ділянці \textbf{S_i}, і нехай обрана на ній швидкість дорівнює \textbf{0} < \textbf{v_i} ≤ \textbf{M_i}. Ймовірність поломки на ділянці \textbf{S_i} становить \textbf{v_i/M_i}. У випадку аварії у трамвая включається система відновлення, на що витрачається всього \textbf{10} секунд. Потім трамвай їде до \textbf{P_i}, використовуючи додатковий (повільний, але безпечний) двигун, зі швидкістю \textbf{5} метрів за секунду, і вже без поломок на \textbf{S_i}. Наприклад, нехай довжина секції дорівнює \textbf{300} метрів, а максимально можлива швидкість на цій ділянці дорівнює \textbf{25} метрів за секунду. Якщо водій обере швидкість \textbf{25} м/с, то трамвай однозначно поламається. Так як аварія може статись де завгодно між \textbf{P_\{i-1\}} і \textbf{P_i}, то для зручності будемо вважати що вона відбудеться як раз на середині шляху (після \textbf{150} метрів). Таким чином, трамвай проїде \textbf{6} секунд до середини шляху, \textbf{10} секунд постоїть доки буде включатись додатковий двигун після поломки, і за \textbf{30} секунд він достягне \textbf{P_i}, усього таким чином витративши на шлях \textbf{46} секунд. Якщо початкова швидкість трамваю буде \textbf{15} м/с, то з ймовірністю \textbf{0.6} він зламається і доїде за \textbf{10 + 10 + 30 = 50} секунд, і з ймовірністю \textbf{0.4} досягне \textbf{P_i} через \textbf{20} секунд без поломки. Середній час проїзду у цьому випадку становитимк \textbf{0.6·50 + 0.4·20 = 38} секунд. Коли трамвай досягає \textbf{P_i}, він зупиняється на декілька секунд незалежно від того була аварія на \textbf{S_i} чи ні; цих декількох секунд (для простоти обчислень будемо вважати їх рівними \textbf{0}) достатньо щоб повнвстю відремонтувати трамвай: максимально можлива швидкість зменшується на \textbf{1} м/с після кожної поломки. Якщо початкова можлива максимальна швидкість дорівнює \textbf{M_0}, то \textbf{M_i = M_0 - C_i}, де \textbf{0} ≤ \textbf{C_i} ≤ \textbf{i-1} загальна кількість аварій на ділянках \textbf{S_1}, ..., \textbf{S_\{i-1\}}. Напишіть програму, яка виведе найменший середній час подорожі, якщо відома початкова максимальна допустима швидкість руху трамвая і довжина кожної секції. \InputFile Кожен рядок відповідає одному тесту і містить початкову максимально можливу швидкість трамвая \textbf{M_0} (дійсне число між \textbf{5} і \textbf{25}), значення \textbf{n} (ціле число міжд \textbf{1} і \textbf{M_0} - \textbf{1}), та довжини усіх секцій (дістне число від \textbf{100} до \textbf{1000}). \OutputFile Для кожного тесту у окремому рядку вивести минимальний середній час, за який трамвай пройде весь шлях. Відповідь потрібно виводити з чотирма десятковими знаками.
Ліміт часу 1 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
25 1 900
25 2 900 900
25 2 305.15 980.76
5 1 1000
Вихідні дані #1
102.0000
205.0303
150.0000
210.0000