P15070 [UOI 2024 II Stage] Sequence
Description
Anton is under pressure --- he has to submit all the assignments. As often happens --- he cannot extend the deadline...
You are given a sequence $a$ of $n$ integers, and two integers $l$ and $r$. You need to find the longest subsequence $b$ of the sequence $a$ such that $l \le b_i + b_{i+1} \le r$ ($1 \le i < |b|$). Here, $|b|$ denotes the number of elements in the sequence $b$. In other words, you need to select a subsequence such that the sum of any two adjacent numbers is not less than $l$ and not greater than $r$.
A subsequence of an array is a sequence that can be obtained by deleting several (possibly none) elements from the original sequence.
Input Format
The first line contains three integers $n$, $l$, $r$ ($1 \le n \le 5 \cdot 10^5$, $1 \le l \le r \le 10^{17}$).
The second line contains $n$ integers $a_i$ ($1 \le a_i \le r$) --- the description of the sequence.
Output Format
Output a single integer --- the maximum length of such a subsequence $b$.
Explanation/Hint
In the first example, you can select the subsequence $[1, 3, 2]$. $2 \leq 1 + 3 \leq 6$. $2 \leq 3 + 2 \leq 6$.
You can also select $[1, 4, 2]$.
### Scoring
- ($1$ point): all $a_i$ are the same;
- ($3$ points): $a_i = a_{i+2}$ for all $1 \le i \le n-2$;
- ($9$ points): $n \le 20$;
- ($8$ points): $n \le 5000$;
- ($9$ points): $r - l \le 10$;
- ($10$ points): $l = 1, r \le 10^6$;
- ($13$ points): $r \le 10^6$;
- ($10$ points): $l = 1$;
- ($24$ points): $n \le 10^5$;
- ($13$ points): no additional constraints.