D - Flat Subsequence
Editorial
/
Time Limit: 2 sec / Memory Limit: 1024 MB
Score : 400 points
Problem Statement
You are given a sequence A_1, A_2, ..., A_N and an integer K.
Print the maximum possible length of a sequence B that satisfies the following conditions:
- B is a (not necessarily continuous) subsequence of A.
- For each pair of adjacents elements of B, the absolute difference of the elements is at most K.
Constraints
- 1 \leq N \leq 300,000
- 0 \leq A_i \leq 300,000
- 0 \leq K \leq 300,000
- All values in input are integers.
Input
Input is given from Standard Input in the following format:
N K A_1 A_2 : A_N
Output
Print the answer.
Sample Input 1
10 3 1 5 4 3 8 6 9 7 2 4
Sample Output 1
7
For example, B = (1, 4, 3, 6, 9, 7, 4) satisfies the conditions.
- It is a subsequence of A = (1, 5, 4, 3, 8, 6, 9, 7, 2, 4).
- All of the absolute differences between two adjacent elements (|1-4|, |4-3|, |3-6|, |6-9|, |9-7|, |7-4|) are at most K = 3.
配点 : 400 点
問題文
数列 A_1, A_2, ..., A_N と整数 K が与えられます。
以下の条件を満たす数列 B の長さとして考えられる最大値を出力してください。
- B は A の (連続とは限らない) 部分列である。
- どの B の隣り合う要素の差の絶対値も K 以下である。
制約
- 1 \leq N \leq 300,000
- 0 \leq A_i \leq 300,000
- 0 \leq K \leq 300,000
- 入力は全て整数である。
入力
入力は以下の形式で標準入力から与えられる。
N K A_1 A_2 : A_N
出力
答えを出力せよ。
入力例 1
10 3 1 5 4 3 8 6 9 7 2 4
出力例 1
7
たとえば、 B = (1, 4, 3, 6, 9, 7, 4) は条件を満たします。
- これは A = (1, 5, 4, 3, 8, 6, 9, 7, 2, 4) の部分列です。
- 全ての隣り合う要素の差の絶対値 (|1-4|, |4-3|, |3-6|, |6-9|, |9-7|, |7-4|) は K = 3 以下です。