Hệ thống sưởi ấm

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: 1400 Thời gian: 1.0s Bộ nhớ: 256M Input: bàn phím Output: màn hình

Để bước vào con tàu, ProtoypeLam2012 cần khởi động hệ thống sưởi. Có \(n\) buồng máy, mỗi buồng có nhiệt độ \(a_i\). Hệ thống chỉ ổn định nếu họ chọn ra một dãy các buồng liên tiếp sao cho chênh lệch giữa nhiệt độ lớn nhất và nhỏ nhất trong dãy đó không quá \(k\).

Yêu cầu: Tìm độ dài của dãy buồng dài nhất thỏa mãn.

Input

  • Dòng đầu tiên chứa hai số nguyên dương \(n\)\(k\). Trong đó \(n\) là số lượng buồng máy và \(k\) là ngưỡng chênh lệch nhiệt độ cho phép (\(1 \le n \le 10^6, 0 \le k \le 10^9\)).
  • Dòng thứ hai chứa \(n\) số nguyên \(a_1, a_2, \dots, a_n\) lần lượt là nhiệt độ của từng buồng máy (\(|a_i| \le 10^9\)).

Output

  • Một số nguyên duy nhất là độ dài của dãy buồng dài nhất tìm được.

Example

Test 1

Input
6 3
1 5 2 4 3 7
Output
4
Note
  • Xét đoạn 5 2 4 3: Max là 5, Min là 2. Chênh lệch \(|5 - 2| = 3 \le 3\) (Thỏa mãn). Độ dài = 4.
  • Xét đoạn 2 4 3 7: Max là 7, Min là 2. Chênh lệch \(|7 - 2| = 5 > 3\) (Không thỏa mãn).
  • Các đoạn khác có độ dài 5 hoặc 6 đều chứa cặp (1, 5) hoặc (3, 7) hoặc (1, 7) có chênh lệch lớn hơn 3.

Scoring

  • Subtask 1 (30% số điểm): \(n \le 500\).
  • Subtask 2 (30% số điểm): \(500 < n \le 5000\).
  • Subtask 3 (20% số điểm): \(5000 < n \le 10^5\).
  • Subtask 4 (20% số điểm): \(10^5 < n \le 10^6\).

Bình luận (11)

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