Bài 1: Đoàn thám hiểm (TS10 PTNK thi thử lần 1 - 2026)

Xem PDF



Tác giả:
Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, Output, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 500 (p) Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Trên dãy núi có \(n\) trạm dừng chân. Đoàn thám hiểm xuất phát từ trạm \(1\) và muốn vượt qua tất cả \(n\) trạm lần lượt từ \(1\) đến \(n\). Trạm thứ \(i\) có độ cao \(h_i\).

Do địa hình hiểm trở và nhiệt độ thấp nên nếu chênh lệch độ cao giữa \(2\) trạm liên tiếp vượt quá \(D\) thì đoàn bắt buộc phải sử dụng thiết bị hỗ trợ để di chuyển. Để tiết kiệm năng lượng cho chuyến đi nên đoàn thám hiểm hạn chế sử dụng thiết bị hỗ trợ.

Yêu cầu: Tìm số lần tối thiểu phải sử dụng thiết bị hỗ trợ để di chuyển lần lượt từ trạm \(1\) đến trạm \(n\).

Input

  • Dòng 1: chứa 2 số nguyên \(n\)\(D\) (\(n \le 10^5; D \le 10^9\)).
  • Dòng 2: chứa \(n\) số nguyên \(h_1, h_2, \dots, h_n\) (\(1 \le h_i \le 10^9\)).

Output

  • Một số nguyên duy nhất là số lần tối thiểu phải sử dụng thiết bị hỗ trợ.

Example

Test 1

Input
5 10
10 25 30 45 50
Output
2
Note
  • Từ trạm 1 sang trạm 2: \(|25 - 10| = 15 > 10 \rightarrow\) Cần thiết bị hỗ trợ (1 lần).
  • Từ trạm 2 sang trạm 3: \(|30 - 25| = 5 \le 10 \rightarrow\) Không cần.
  • Từ trạm 3 sang trạm 4: \(|45 - 30| = 15 > 10 \rightarrow\) Cần thiết bị hỗ trợ (2 lần).
  • Từ trạm 4 sang trạm 5: \(|50 - 45| = 5 \le 10 \rightarrow\) Không cần.

Test 2

Input
3 100
10 20 30
Output
0

Test 3

Input
1 5
10
Output
0

Bình luận (1)

Mới nhất
Tải bình luận...