#HT12870. 「RSOI-3A」集合构造

「RSOI-3A」集合构造

题目描述

给定一个长度为 nn 的正整数序列 A=(A1,A2,…,An)A = (A_1,A_2,\dots,A_n),以及非负整数 kk 和正整数 dd。

你可以构造一个正整数多重集合 BB,满足 ∣B∣≤k|B| \le k。BB 中元素没有数值上界,也允许出现重复值。

从 AA 和 BB 的所有元素中选出若干个互不相同的整数,组成集合 TT。将 TT 严格递增排列为 t1<t2<⋯<tmt_1 < t_2 < \dots < t_m,要求对每个 1≤i<m1 \le i < m 都有

ti+1−ti≤d.t_{i+1}-t_i \le d.

求 m=∣T∣m = |T| 的最大值。由于 TT 中的整数互不相同,AA 或 BB 中相同的数值最多对答案贡献一次。

输入格式

第一行包含三个整数 n,k,dn,k,d。

第二行包含 nn 个正整数 A1,A2,…,AnA_1,A_2,\dots,A_n。

输出格式

输出一行一个整数,表示 ∣T∣|T| 的最大值。

样例

5 1 2
1 4 8 9 13
4
8 2 3
10 15 2 4 16 11 5 20
9

样例解释

对于样例1: 可以选取 AA 中的 {4,8,9}\{4,8,9\},令 B={6}B=\{6\},得到 T={4,6,8,9}T=\{4,6,8,9\}。

对于样例2: 例如选取 AA 中的 {2,4,5,10,11,15,16}\{2,4,5,10,11,15,16\},令 B={8,14}B=\{8,14\}。

数据规模与约定

本题采用捆绑测试。对于所有数据: $1 \le n \le 10^5,\ 0 \le k \le 10^9,\ 1 \le d,A_i \le 10^9$。

子任务 n≤n \le 特殊性质 分值 测试点数
1 10210^2 k=0k=0 15 6
2 10310^3 无
3 10510^5 k=0k=0 20 8
4 d=1d=1
5 无 30 12

原题链接

原题链接