Logo
(追記) (追記ここまで)

26895번 - Bergsvandring 스페셜 저지다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB0000.000%

문제

En bergskedja består av $n$ punkter, ($x_1,ドル $y_1$) till ($x_n,ドル $y_n$), där $x_1 < x_2 < ... < x_n$. Mellan punkt $i$ och punkt $i+1$ görs ett linjesegment.

Några vandrare vill ta sig över hela bergskedjan, dvs gå från punkt 1ドル$ till punkt $n$. De kan dock inte gå på linjesegment om dess lutning är strikt större än $d$. Här definierar vi lutningen av linjen genom ($x_i,ドル $y_i$) och ($x_j,ドル $y_j$) som

$$ \frac{|y_i - y_j|}{|x_i - x_j|} $$ där $|x|$ betecknar absolutvärdet av $x$.

För att göra vandringen möjlig kan de bygga broar i bergskedjan. En bro representeras också som ett linjesegment och byggs alltid mellan två punkter $i$ och $j$. En bro får självklart inte ha större lutning än $d,ドル och dessutom går det inte att bygga en bro som går igenom berget på något ställe.

Bestäm den minsta totala längden av de broar som behöver byggas för att vandringen ska vara möjlig.

입력

På först raden står heltalet $n$ och flyttalet 0ドル < d \le 10^5,ドル separerade av mellanslag. De $n$ följande raderna innehåller två heltal 0ドル < x_i, y_i \le 10^5,ドル koordinaterna för punkt $i,ドル också separerade av mellanslag. Det är garanterat att $x_i < x_{i+1}$.

출력

Skriv ut ett flyttal - minsta totala längden av broar som behövs för att göra vandringen möjlig. Om det är omöjligt att utföra vandringen oavsett hur man bygger broarna, skriv istället ut $-1$.

Ett svar på det här problemet kommer att räknas som korrekt om det absoluta felet är mindre än 10ドル^{-3}$. Det är garanterat att resultatet för ett testfall inte påverkas av en liten ändring av talet $d$ (detta för att undvika precisionsfel vid jämförelser av flyttal).

제한

  • $ 2 \le n \le 1,000円$

예제 입력 1

10 1.2
0 0
2 2
3 0
4 1
5 0
6 1
7 0
8 0
9 2
11 0

예제 출력 1

5.06449510224598

예제 입력 2

11 1.6
0 0
2 3
4 3
5 5
6 1
7 7
8 3
9 5
12 2
13 3
15 1

예제 출력 2

9.231551362179038

예제 입력 3

3 1.9
0 0
10000 19999
30000 0

예제 출력 3

-1

예제 입력 4

7 0.8
0 0
50000 20000
120000 90000
170000 70000
180000 40000
240000 40000
310000 0

예제 출력 4

226157.73105863907

힌트

출처

Olympiad > Swedish Olympiad in Informatics > 2015 > Final F번

  • 문제를 만든 사람: Emanuel Gedin
(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /