CF251A.Points on Line
普及-
通过率:0%
时间限制:2.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Little Petya likes points a lot. Recently his mom has presented him n points lying on the line OX. Now Petya is wondering in how many ways he can choose three distinct points so that the distance between the two farthest of them doesn't exceed d.
Note that the order of the points inside the group of three chosen points doesn't matter.
小Petya非常喜欢点。最近,他的妈妈送给了他 n 个位于 OX 轴上的点。现在Petya想知道:有多少种方法可以从这些点中选出三个互不相同的点,使得其中距离最远的两个点之间的距离不超过 d?
注意:所选三个点的顺序无关紧要。
输入格式
The first line contains two integers: n and d (1 ≤ n ≤ 105; 1 ≤ d ≤ 109). The next line contains n integers _x_1, _x_2, ..., x__n, their absolute value doesn't exceed 109 — the x-coordinates of the points that Petya has got.
It is guaranteed that the coordinates of the points in the input strictly increase.
第一行包含两个整数:n 和 d(1 ≤ n ≤ 105;1 ≤ d ≤ 109)。
下一行包含 n 个整数 x1,x2,...,xn,它们的绝对值不超过 109 —— 表示 Petya 得到的各点的 x 坐标。
保证输入中各点的坐标严格递增。
输出格式
Print a single integer — the number of groups of three points, where the distance between two farthest points doesn't exceed d.
Please do not use the %lld specifier to read or write 64-bit integers in С++. It is preferred to use the cin, cout streams or the %I64d specifier.
输出一个整数——满足其中距离最远的两个点之间的距离不超过 d 的三点组的数量。
在 C++ 中,请勿使用 %lld 说明符读取或写入 64 位整数。推荐使用 cin、cout 流,或 %I64d 说明符。
输入输出样例
输入#1
4 3 1 2 3 4
输出#1
4
输入#2
4 2 -3 -2 -1 0
输出#2
2
输入#3
5 19 1 10 20 30 50
输出#3
1
说明/提示
In the first sample any group of three points meets our conditions.
In the seconds sample only 2 groups of three points meet our conditions: {-3, -2, -1} and {-2, -1, 0}.
In the third sample only one group does: {1, 10, 20}.
在第一个样例中,任意三个点的组合均满足我们的条件。
在第二个样例中,仅有两组三点组合满足条件:{-3, -2, -1} 和 {-2, -1, 0}。
在第三个样例中,仅有一组满足条件:{1, 10, 20}。
输入解题思路,AI测评打分。不知道怎么写?