Dãy con êm
Xem dạng PDFCâu lạc bộ Âm nhạc đang dàn dựng đêm nhạc chào mừng ngày thành lập Đại học Công nghiệp Hà Nội. Danh sách dự kiến gồm ~n~ tiết mục, xếp theo thứ tự biểu diễn từ ~1~ đến ~n~; tiết mục thứ ~i~ có độ sôi động là ~a_i~.
Vì thời lượng có hạn, ban tổ chức sẽ chỉ giữ lại một số tiết mục và giữ nguyên thứ tự tương đối của chúng (các tiết mục được giữ không nhất thiết đứng liền nhau trong danh sách ban đầu). Để khán giả không bị "hẫng", chương trình sau khi chọn phải êm: hai tiết mục được biểu diễn liền nhau trong chương trình phải có độ sôi động chênh nhau không quá ~D~.
Nói cách khác, cần chọn các chỉ số ~i_1 < i_2 < \cdots < i_m~ sao cho ~|a_{i_{t}} - a_{i_{t+1}}| \le D~ với mọi ~1 \le t < m~. Chương trình chỉ gồm một tiết mục luôn được coi là êm.
Yêu cầu
Hãy tìm số tiết mục lớn nhất ~m~ có thể giữ lại.
Dữ liệu vào
- Dòng thứ nhất chứa hai số nguyên ~n~ và ~D~;
- Dòng thứ hai chứa ~n~ số nguyên ~a_1, a_2, \ldots, a_n~, các số cách nhau bởi dấu cách.
Kết quả ra
Ghi ra một số nguyên duy nhất là số tiết mục lớn nhất của một chương trình êm.
Ràng buộc
~1 \le n \le 2 \cdot 10^5~; ~0 \le D \le 10^9~; ~1 \le a_i \le 10^9~.
- Subtask 1 (10% số điểm – test 01–04): ~n \le 20~;
- Subtask 2 (20% số điểm – test 05–08): ~n \le 5000~;
- Subtask 3 (20% số điểm – test 09–12): ~a_i \le 100~;
- Subtask 4 (20% số điểm – test 13–16): ~a_i \le 3 \cdot 10^5~;
- Subtask 5 (30% số điểm – test 17–20): không có ràng buộc bổ sung.
Ví dụ
Dữ liệu vào mẫu 1
7 2
5 1 4 9 6 3 8
Kết quả ra mẫu 1
4
Giải thích
Giữ lại các tiết mục thứ ~1, 3, 5, 7~ với độ sôi động ~(5, 4, 6, 8)~: các độ chênh liền nhau là ~1, 2, 2~, đều không quá ~D = 2~. Không có cách chọn ~5~ tiết mục nào thoả mãn.
Bình luận