题目描述
给出一串正整数数列以及一个正整数 C,要求计算出所有满足 A−B=C 的数对的个数(不同位置的数字一样的数对算不同的数对)。
输入格式
输入共两行。
第一行,两个正整数 N,C。
第二行,N 个正整数,作为要求处理的那串数。
输出格式
一行,表示该串正整数中包含的满足 A−B=C 的数对的个数。
输入输出样例
# 输入
4 1
1 1 2 3
# 输出
3
代码
N,C = map(int,input().split())
arr = list( map(int,input().split()) )arr_dict = {}
for i in range( len(arr)):A = arr[i]# 如果不存在temp==None,不会报错,# 直接arr_dict[A]会报错temp = arr_dict.get(A)if temp :arr_dict[A] += 1else :arr_dict[A] = 1count = 0
for i in range( len(arr) ):A = arr[i]B = A - C# 如果不存在temp==None,不会报错temp = arr_dict.get(B)if temp:count += arr_dict[B]
print(count)