题目描述
Ada 和 John 是最好的朋友。由于他们感到无聊,Ada 让 John 为她解决一个谜题。
一个集合 S 被称为 宽松的,如果其中任意两个不同元素的绝对差至少为 K,即对于所有 x,y∈S 且 x=y,都有 ∣x−y∣≥K。
Ada 有一个包含 N 个不同整数的列表 A 和一个整数 K。对于每个 Ai,她要求 John 找出由 A 中元素构成的最大尺寸的集合 Si,使得 Si 包含 Ai 并且是宽松的。
注意:集合 Si 不需要由列表中连续的元素构成。
输入格式
输入的第一行给出测试用例的数量 T。随后是 T 个测试用例。每个测试用例的第一行包含两个整数 N 和 K。第二行包含 N 个整数 $\mathbf{A}_1 \mathbf{A}_2 \ldots \mathbf{A}_{\mathbf{N}}$。
输出格式
对于每个测试用例,输出一行 Case #x: y_1 y_2 ... y_N,其中 x 是测试用例编号(从 1 开始),yi 是包含 Ai 的最大宽松集合的尺寸。
2
3 2
1 2 3
6 4
2 7 11 19 5 3
Case #1: 2 1 2
Case #2: 4 4 4 4 3 4
提示
样例解释
在样例 #1 中,一个宽松集合不能同时包含 1 和 2,也不能同时包含 2 和 3。这意味着 S2={2},而使用 S1=S3={1,3} 可以使它们的尺寸最大化。
在样例 #2 中,可能的尺寸最大集合为:
- S1=S2=S3=S4={2,7,11,19},
- S5={11,19,5},
- S6={7,11,19,3}。
数据范围
- 1≤T≤100。
- 对所有 i,−109≤Ai≤109。
- 对所有 i=j,Ai=Aj。
测试集 1(4 分,可见判定)
- 1≤N≤10。
- 1≤K≤100。
测试集 2(10 分,可见判定)
- 1≤K≤109。
对于最多 15 个测试用例:
- 1≤N≤105。
对于其余测试用例:
- 1≤N≤103。
翻译由 DeepSeek V3 完成