luogu#P11556. [ROIR 2016] 超级跳棋 (Day 2)

[ROIR 2016] 超级跳棋 (Day 2)

题目背景

翻译自 ROIR 2016 D2T2

题目描述

Andrey 是超级跳棋比赛的裁判。每场比赛中有三名玩家参与。每个玩家在比赛过程中会得到一定的正整数分数。如果在比赛结束时,第一个玩家得到了 aa 分,第二个玩家得到了 bb 分,第三个玩家得到了 cc 分,那么我们说比赛以得分 a   ⁣:   ⁣b   ⁣:   ⁣ca\;\!\text:\;\!b\;\!\text:\;\!c 结束。

Andrey 知道超级跳棋的规则要求,比赛结果中任何两个玩家的得分之比最多为 kk。比赛结束后,Andrey 将显示比赛结果,将三张写有玩家得分的卡片放到专门的显示屏上。Andrey 有 nn 张这样的卡片,上面写的数字分别是 x1,x2,,xnx_1,x_2,\dots,x_n

为了测试自己为比赛做好了多少准备,Andrey 希望知道,使用他拥有的 nn 张卡片,他能在显示屏上显示多少种不同的得分组合。

输入格式

第一行输入两个整数 n,kn,k3n1000003 \leq n \leq 1000001k1091 \leq k \leq 10^9)。

第二行输入 nn 个整数 x1,x2,,xnx_1, x_2, \dots, x_n1xi1091 \leq x_i \leq 10^9)。

输出格式

输出一个整数,表示 Andrey 可以在显示屏上显示的不同得分组合的数量。

5 2
1 1 2 2 3
9

提示

样例解释

在样例中,Andrey 可以显示的得分组合有:$1\;\!\text:\;\!1\;\!\text:\;\!2,\;\! 1\;\!\text:\;\!2\;\!\text:\;\!1,\;\! 2\;\!\text:\;\!1\;\!\text:\;\!1,\;\! 1\;\!\text:\;\!2\;\!\text:\;\!2,\;\! 2\;\!\text:\;\!1\;\!\text:\;\!2,\;\! 2\;\!\text:\;\!2\;\!\text:\;\!1,\;\! 2\;\!\text:\;\!2\;\!\text:\;\!3,\;\! 2\;\!\text:\;\!3\;\!\text:\;\!2,\;\! 3\;\!\text:\;\!2\;\!\text:\;\!2%吐槽:这个间距太难调整了!!!11$。

其它用现有卡片组成的三元组不满足条件,因为这样会出现两个玩家的得分之比超过了 k=2k = 2 的情况。

数据范围

子任务 是否捆绑 分值 3n3\le n\le 1k1\le k\le 1xi1\le x_i\le 其它特殊性质
11 1515 100000100000 11 100000100000
22 2323 100100
33 3030 100000100000 10910^9 所有 xix_i 互不相同
44 3232