atcoder#ABC251B. [ABC251B] At Most 3 (Judge ver.)

[ABC251B] At Most 3 (Judge ver.)

配点 : 200200

問題文

おもり 11, おもり 22, \dots, おもり NNNN 個のおもりがあります。おもり ii の重さは AiA_i です。 以下の条件を満たす正整数 nn良い整数 と呼びます。

  • 3\bf{3} 個以下 の異なるおもりを自由に選んで、選んだおもりの重さの和を nn にすることができる。

WW 以下の正整数のうち、良い整数は何個ありますか?

制約

  • 1N3001 \leq N \leq 300
  • 1W1061 \leq W \leq 10^6
  • 1Ai1061 \leq A_i \leq 10^6
  • 入力される値はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

NN WW

A1A_1 A2A_2 \dots ANA_N

出力

答えを出力せよ。

2 10
1 3
3

おもり 11 のみを選ぶと重さの和は 11 になります。よって 11 は良い整数です。 おもり 22 のみを選ぶと重さの和は 33 になります。よって 33 は良い整数です。 おもり 11 とおもり 22 を選ぶと重さの和は 44 になります。よって 44 は良い整数です。 これら以外に良い整数は存在しません。また、1,3,41,3,4 のいずれも WW 以下の整数です。よって答えは 33 個になります。

2 1
2 3
0

WW 以下の良い整数は存在しません。

4 12
3 3 3 3
3

良い整数は 3,6,93,6,933 個です。 たとえばおもり 11, おもり 22, おもり 33 を選ぶと重さの和は 99 になるので、99 は良い整数です。 1212 は良い整数 ではない ことに注意してください。

7 251
202 20 5 1 4 2 100
48