#ABC477B. 离群者 / Standing Outliers

离群者 / Standing Outliers

题目描述

数轴上有 NN 个人。人编号为 11 到 NN,第 ii 个人位于坐标 XiX_i。多个人可能位于同一坐标。

如果某个人到其他每个人的距离都不小于 DD,则称这个人「离群」。

形式化地说,若对所有 j (1≤j≤N, j≠i)j ~ (1 \leq j \leq N,\ j \neq i) 都有 ∣Xi−Xj∣≥D|X_i-X_j| \geq D,则称第 ii 个人「离群」。

请按编号升序输出所有「离群」的人的编号。

输入格式

输入按以下格式从标准输入读入:

  • NN DD
  • X1X_1 X2X_2 …\ldots XNX_N

输出格式

设「离群」的人数为 KK,他们按编号升序排列的序列为 (P1,P2,…,PK)(P_1,P_2,\dots,P_K)。请按以下格式输出:

  • KK
  • P1P_1 P2P_2 …\ldots PKP_K

若 K=0K=0,第二行应为空行。

3 3
1 5 7
1
1
  • 第 11 个人到第 22 个人的距离为 44,到第 33 个人的距离为 66,因此他到其他每个人的距离都不小于 DD。所以第 11 个人「离群」。
  • 第 22 个人到第 33 个人的距离为 22,因此第 22 个人不「离群」。
  • 同样地,第 33 个人到第 22 个人的距离为 22,因此第 33 个人也不「离群」。
  • 因此,只有第 11 个人「离群」。
3 2
1 1 1
0
  • 多个人可能位于同一坐标。另外,如果没有人「离群」,第二行应为空行。
8 3
4 77 20 26 9 26 22 40
4
1 2 5 8
  • 请按编号升序输出「离群」的人的编号。

数据范围

  • 2≤N≤1002 \le N \le 100

  • 1≤D≤1091 \le D \le 10^9

  • 1≤Xi≤1091 \le X_i \le 10^9

  • 所有输入值均为整数。

  • 来源:AtCoder ABC 477 B

子任务设置

  • 子任务 1(100 分):无特殊限制。