#cpsco2019s4c. [cpsco2019_s4_c]Make a Team

[cpsco2019_s4_c]Make a Team

配点 : 300300

问题描述

拉斯克是一个参加大学竞技编程部的成员,部门共有 NN 个人。第 ii 个成员的等级为 RiR_i

为了大学间的编程竞赛,我们需要选择 33 个成员组成一个团队。

在这里,要求团队中的最高等级和最低等级之差不超过 DD

请计算一共有多少种满足要求的团队组合。

约束条件

  • 输入为整数。
  • 3leqNleq1053 \\leq N \\leq 10^5
  • 1leqDleq1091 \\leq D \\leq 10^9
  • 1leqRileq1091 \\leq R_i \\leq 10^9

输入

输入以以下格式从标准输入中给出。

NN DD R1R_1 R2R_2 ldots\\ldots RNR_N

输出

输出满足要求的团队组合的数量。

注意,答案可能无法适应 32 位整数类型。


示例 1

5 400
300 700 1000 800 500

输出示例 1

3

有三种方式:(成员 1, 成员 2, 成员 5), (成员 2, 成员 3, 成员 4), (成员 2, 成员 4, 成员 5)。


示例 2

3 1000
2000 2000 4000

输出示例 2

0

没有满足要求的团队组合。


示例 3

6 314159265
358979323 846264338 327950288 419716939 93751058 209749445

输出示例 3

7