Dãy Con Phẳng

Xem dạng PDF

Gửi bài giải

Điểm: 100,00
Giới hạn thời gian: 2.0s
Giới hạn bộ nhớ: 256M

Tác giả:
Dạng bài

Per được cho một dãy số ~A_1, A_2, \ldots, A_n~ và một số nguyên ~k~.

Hãy tìm độ dài lớn nhất của một dãy ~B~ thỏa mãn cả hai điều kiện sau:

  • ~B~ là một dãy con của ~A~ (không nhất thiết gồm các phần tử liên tiếp).
  • Với mỗi cặp phần tử kề nhau trong ~B~, trị tuyệt đối của hiệu hai phần tử đó không vượt quá ~k~.

Dữ liệu vào

  • Dòng đầu tiên chứa hai số nguyên ~n~ và ~k~.
  • ~n~ dòng tiếp theo, dòng thứ ~i~ chứa số nguyên ~A_i~.

Kết quả

In ra một số nguyên duy nhất — độ dài lớn nhất của dãy ~B~.

Ví dụ

Đầu vào:

10 3
1
5
4
3
8
6
9
7
2
4

Đầu ra:

7

Giải thích: Chọn ~B = (1, 4, 3, 6, 9, 7, 4)~. Đây là dãy con của ~A~, và mọi hiệu giữa hai phần tử kề nhau ~(|1-4|, |4-3|, |3-6|, |6-9|, |9-7|, |7-4|)~ đều không vượt quá ~k = 3~.

Giới hạn

  • ~1 \le n \le 3 \cdot 10^5~
  • ~0 \le A_i \le 3 \cdot 10^5~
  • ~0 \le k \le 3 \cdot 10^5~

Gọi ~f_v~ là độ dài dãy ~B~ dài nhất kết thúc bằng một phần tử có giá trị ~v~. Duyệt ~i~ từ trái sang phải, ta cần ~f_{A_i} = 1 + \max f_v~ với ~v~ chạy trong đoạn ~[A_i - k, A_i + k]~ — đúng một truy vấn lấy ~\max~ trên đoạn và một phép cập nhật tại một điểm.


Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.