Шлях через гори

Перегляд у форматі PDF

Надіслати розв'язок

Бали: 5,00 (partial)
Time limit: 1.0s
PyPy 3 2.0s
Memory limit: 256M
Input: stdin
Output: stdout

Problem type
Allowed languages
Ada, Assembly, Awk, Brain****, C, C#, C++, COBOL, D, Dart, F#, Forth, Fortran, Go, Groovy, Haskell, Intercal, Java, JS, Kotlin, Lisp, Lua, ObjC, OCaml, Pascal, Perl, PHP, Pike, Prolog, Python, Racket, Ruby, Rust, Scala, Scheme, Sed, Swift, TCL, Text, Turing, VB, Zig

Поверхню Землі в гірській місцевості можна подати у вигляді ламаної лінії. Вершини ламаної розташовані в точках ~(x_1,y_1)~, ~(x_2,y_2)~, …, ~(x_N,y_N)~, причому ~x_i<x_{i+1}~. Звичайний гірський маг перебуває в точці ~(x_1,y_1)~ і дуже хоче потрапити в точку ~(x_N,y_N)~. При цьому він може пересуватися лише пішки. Він може йти поверхнею Землі (тобто вздовж ламаної). А може сотворити в повітрі міст і пройти ним. Міст може з'єднувати дві вершини ламаної: міст не може починатися й закінчуватися не у вершині ламаної, і міст не може проходити під землею (зокрема не може бути тунелем у горі), але міст може якоюсь своєю ділянкою проходити по поверхні землі. Довжина моста не може перевищувати ~R~. Загалом маг може побудувати не більше ніж ~K~ мостів. Після проходження мосту, він (міст) розчиняється в повітрі. Яку найменшу відстань доведеться пройти магу, щоб опинитися в точці ~(x_N,y_N)~?</p>

Вхідні дані

Програма має спочатку зчитати рядок з трьома цілими числами ~N~ (~2\leqslant N\leqslant 555~, кількість вершин ламаної), ~K~ (~1\leqslant K\leqslant 256~, максимальна кількість мостів) та ~R~ (~0\leqslant R\leqslant 10000~, максимальна можлива довжина мосту). Далі слід зчитати координати ~(x_1,y_1)~, ~(x_2,y_2)~, ..., ~(x_N,y_N)~, кожна пара в окремому рядку. Усі координати — цілі числа, що не перевищують за модулем ~10000~, для всіх ~i~ від ~1~ до ~N-1~ виконується ~x_i<x_{i+1}~.</p>

Результати

Програма має вивести одне дійсне число — мінімальну довжину шляху, яку доведеться пройти магу (як по землі, так і по мостам). Відповідь виведіть із тією точністю, яку забезпечує стандартне виведлення, не округлюючи. Зараховувати відповідь буде, якщо абсолютна або відносна похибка (хоча б одна з двох) не перевищуватиме ~10^{-12}~.

Приклад

Вхід

5 2 5
0 0
2 2
3 -1
4 1
5 0

Результат

6.4787086646190746

Коментарі

Please read the guidelines before commenting.


Ще немає коментарів.