

Time Limit: 2 sec / Memory Limit: 256 MB
配点 : 300 点
問題文
高橋君は、N 枚のカードを持っています。 i \, (1 \leq i \leq N) 番目のカードには、整数 x_i が書かれています。 高橋君は、これらのカードの中から 1 枚以上を選び、 選んだカードに書かれた整数の平均をちょうど A にしたいと考えています。 そのようなカードの選び方が何通りあるか求めてください。
制約
- 1 \leq N \leq 50
- 1 \leq A \leq 50
- 1 \leq x_i \leq 50
- N,\,A,\,x_i はいずれも整数である
部分点
- 1 \leq N \leq 16 を満たすデータセットに正解した場合は、200 点が与えられる。
入力
入力は以下の形式で標準入力から与えられる。
N A x_1 x_2 ... x_N
出力
書かれた整数の平均がちょうど A となるようなカードの選び方の総数を出力せよ。
入力例 1
4 8 7 9 8 9
出力例 1
5
- 平均が 8 となるカードの選び方は、以下の 5 通りです。
- 3 枚目のカードのみを選ぶ。
- 1 枚目と 2 枚目のカードを選ぶ。
- 1 枚目と 4 枚目のカードを選ぶ。
- 1 枚目、2 枚目および 3 枚目のカードを選ぶ。
- 1 枚目、3 枚目および 4 枚目のカードを選ぶ。
入力例 2
3 8 6 6 9
出力例 2
0
入力例 3
8 5 3 6 2 8 7 6 5 9
出力例 3
19
入力例 4
33 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
出力例 4
8589934591
- 答えは 32 ビット整数型に収まらない場合があります。
Score : 300 points
Problem Statement
Tak has N cards. On the i-th (1 \leq i \leq N) card is written an integer x_i. He is selecting one or more cards from these N cards, so that the average of the integers written on the selected cards is exactly A. In how many ways can he make his selection?
Constraints
- 1 \leq N \leq 50
- 1 \leq A \leq 50
- 1 \leq x_i \leq 50
- N,\,A,\,x_i are integers.
Partial Score
- 200 points will be awarded for passing the test set satisfying 1 \leq N \leq 16.
Input
The input is given from Standard Input in the following format:
N A x_1 x_2 ... x_N
Output
Print the number of ways to select cards such that the average of the written integers is exactly A.
Sample Input 1
4 8 7 9 8 9
Sample Output 1
5
- The following are the 5 ways to select cards such that the average is 8:
- Select the 3-rd card.
- Select the 1-st and 2-nd cards.
- Select the 1-st and 4-th cards.
- Select the 1-st, 2-nd and 3-rd cards.
- Select the 1-st, 3-rd and 4-th cards.
Sample Input 2
3 8 6 6 9
Sample Output 2
0
Sample Input 3
8 5 3 6 2 8 7 6 5 9
Sample Output 3
19
Sample Input 4
33 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
Sample Output 4
8589934591
- The answer may not fit into a 32-bit integer.