CF251A.Points on Line
普及/提高-
通过率:0%
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.
输入格式
The first line contains two integers: n and d ( 1<=n<=105; 1<=d<=109 ). The next line contains n integers x1,x2,...,xn , 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.
输出格式
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.
输入输出样例
输入#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}.