抽签
测试数据来自 system/1831
时间限制:1秒 内存限制:256M
【题目描述】
你的朋友提议玩一个游戏:将写有数字的 \(n\) 个纸片放入口袋中,你可以从口袋中抽取 3 次纸片,每次记下纸片上的数字后都将其放回口袋中。如果这 3 个纸片上数字的和为 \(m\),则你就赢,否则你朋友就赢。
请你编写一个程序,当纸片上所写数字 \(a_1,a_2,…,a_n\) 时,计算抽取 3 次和为 \(m\) 的方案数。
【输入格式】
第一行一个整数 \(n\) 和 \(m\)。
第二行为 \(n\) 个整数,其中第 \(i\) 个整数 \(a_i\),表示第 \(i\) 张纸片的数字。
【输出格式】
输出方案数。
【输入输出样例】
Input
4 13
4 1 3 5
Output
6
【输入输出样例解释】
6种方案如下:
3 + 5 + 5 = 13
4 + 4 + 5 = 13
4 + 5 + 4 = 13
5 + 3 + 5 = 13
5 + 4 + 4 = 13
5 + 5 + 3 = 13
【数据限制】
对于 \(60\%\) 的数据,\(1≤n≤1 00\)。
对于 \(100\%\) 的数据,\(1≤n≤2 000\),\(0≤a_i≤10^6\)。
【来源】
Mr.he