#3244. 四数之和(计数)

四数之和(计数)

题目描述

给定一个由 nn 个整数构成的数组 a1,a2,,ana_1, a_2, \dots, a_n,以及一个目标值 xx

请你统计有多少组下标 (i,j,k,l)(i, j, k, l) 满足 1i<j<k<ln1 \le i < j < k < l \le n

ai+aj+ak+al=xa_i + a_j + a_k + a_l = x

输入格式

第一行包含两个整数 nnxx,分别表示数组的大小和目标和。

第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n,表示数组的值。

输出格式

输出一个整数,表示满足条件的四元组个数。

输入样例 1

6 10
1 2 3 4 5 6

输出样例 1

1

输入样例 2

7 12
1 2 3 4 5 6 7

输出样例 2

2

输入样例 3

4 100
1 2 3 4

输出样例 3

0

说明/提示

样例 1 解释:只有 1+2+3+4=101+2+3+4=10 这一组。

样例 2 解释1+2+3+6=121+2+3+6=121+2+4+5=121+2+4+5=12,共 22 组。

数据范围

  • 对于 30%30\% 的数据,4n1004 \le n \le 100
  • 对于 60%60\% 的数据,4n4004 \le n \le 400
  • 对于 100%100\% 的数据,4n10004 \le n \le 10001ai1061 \le a_i \le 10^61x4×1061 \le x \le 4 \times 10^6

答案可能超过 2312^{31},请注意数据类型。