#P20004. 炼气十万年 · 修为差距

炼气十万年 · 修为差距

炼气十万年 · 修为差距

题目背景

徐阳一剑灭云剑宗,保命剑横空,金丹尽收。

云剑宗弟子名册散落一地,徐阳扫了一眼——宗门以灵石记录弟子修为,若两人修为相差恰好为 C,此二人可结成合击阵法,对残岚宗威胁倍增。

"破阵先断其合力,"徐阳将名册抛给你,"统计所有修为差为 CC 的弟子对,我一个都不会放过。"

注意:不同位置的弟子即使修为相同,也算作不同的数对。

题目描述

给定 N 个正整数 a1,a2,...,ana₁, a₂, ..., aₙ 和一个正整数 C,计算所有满足 aiaj=Caᵢ − aⱼ = C 的数对 (i,j)(i, j) 的个数ij(i ≠ j,不同位置的相同数字算不同的数对)。

输入格式

输入共两行。

  • 第一行:两个非负整数 N, C,以空格分隔。
  • 第二行:N 个正整数 a1,a2,...,ana₁, a₂, ..., aₙ,以空格分隔。

输出格式

一行,一个整数,表示满足 aiaj=Caᵢ − aⱼ = C 的数对个数。

样例

4 1
1 1 2 3
3
5 0
1 1 1 1 1
20

数据范围

  • 对于 75% 的数据:1N20001 ≤ N ≤ 2000
  • 对于 100% 的数据:1N2×1050C<2300ai2301 ≤ N ≤ 2×10⁵,0 ≤ C < 2³⁰,0 ≤ aᵢ ≤ 2³⁰
  • 答案不超过 64 位有符号整数范围