问题 I: 数数 (hard version)

问题 I: 数数 (hard version)

时间限制: 1 Sec  内存限制: 128 MB
提交: 118  解决: 16
[状态] [讨论版] [提交] [命题人:]
题目描述
注意:此问题与easy version仅有 K 的取值范围不同
给你长度为 n  的序列 A,输出有多少对 (i,j) 满足 Ai * Aj <= Ai + Aj + K (1 <= i < j <= n),结果对 1e9+7 取模 ( i 和 j 指的是这个序列的下标)
输入
第一行两个整数代表 n , K (1 <= n <= 1e6 , 1 <= K <= 10)
第二行 n 个整数 
第 i 个整数代表 Ai (-1e6 <= Ai <= 1e6)
输出
 输出一个整数(结果对1e9+7)取模
样例输入 Copy
5 2
-4 -4 -4 2 2 
样例输出 Copy
7
提示
(1,4)
(1,5)
(2,4)
(2,5)
(3,4)
(3,5)
(4,5)
共7对