题目描述
给定一个升序数组 和非负整数 ,数一数有多少对下标 满足 且 。
对每个 :设 为第一个 的元素位置(即 upper_bound(a_i + k) 的下标),由于数组升序,能和 配对的 恰好有 个——把每个 的贡献加起来。注意两点:对数最多接近 ,要用 long long 存答案; 也可能超出 int,先存进 long long 再去二分。
输入格式
第一行两个整数 、(,)。
第二行 个整数 (升序,)。
输出格式
一行一个整数:满足 且 的对数。
样例
输入:
4 1
1 2 3 5
输出:
2
满足的对是 和 ,差都是 1; 差 2 已经超了。
数据范围
,,数组升序。 里的「」是在排除 自己和它左边的元素——少减一个,每行就会多记一对。