[ABC056D] No Need
题意翻译
给出一个由 $N$ 个整数构成的集合和一个整数 $K$,若该集合中的的非空子集和大于等于 $K$,则称该子集为优秀的集合
若所有包含这个数的优秀子集去掉该数后仍然是优秀集合,则称该数字为“可有可无的数字”。
请求出在 $N$ 个数中“可有可无的数字”个数。
题目描述
[problemUrl]: https://atcoder.jp/contests/abc056/tasks/arc070_b
シカのAtCoDeerくんは正整数が書かれたカードを $ N $ 枚持っています。$ i(1≦i≦N) $ 枚目に書かれている数は $ a_i $ です。 AtCoDeerくんは大きい数が好きなので、カードに書かれた数の総和が $ K $ 以上になるようなカードの部分集合を*よい集合*と呼びます。
そして、各カード $ i $ に対して、そのカードが*不必要*かどうかを次のように判定します。
- 「カード $ i $ を含む任意の*よい集合*に対して、その集合からカード $ i $ を除いたものも*よい集合*」 ならカード $ i $ は*不必要*
- それ以外の場合は、*不必要*でない
不必要なカードの枚数を求めてください。ただし、それぞれの判定は独立に行われ、不必要だからと言ってカードが途中で捨てられたりすることはありません。
输入输出格式
输入格式
入力は以下の形式で標準入力から与えられる。
> $ N $ $ K $ $ a_1 $ $ a_2 $ ... $ a_N $
输出格式
不必要なカードの枚数を出力せよ。
输入输出样例
输入样例 #1
3 6
1 4 3
输出样例 #1
1
输入样例 #2
5 400
3 1 4 1 5
输出样例 #2
5
输入样例 #3
6 20
10 4 3 10 25 2
输出样例 #3
3
说明
### 制約
- 入力は全て整数
- $ 1≦N≦5000 $
- $ 1≦K≦5000 $
- $ 1≦a_i≦10^9\ (1≦i≦N) $
### 部分点
- $ N,K≦400 $ を満たすデータセットに正解した場合は、部分点として $ 300 $ 点が与えられる。
### Sample Explanation 1
よい集合は {$ 2,3 $} と {$ 1,2,3 $} の二つです。 カード $ 1 $ を含むよい集合は {$ 1,2,3 $} しかなく、これから $ 1 $ を取り除いた {$ 2,3 $} もよい集合なので、カード $ 1 $ は不必要です。 また、よい集合である {$ 2,3 $} から $ 2 $ を取り除いた集合 {$ 3 $} はよい集合ではないため、カード $ 2 $ は不必要ではありません。 カード $ 3 $ も同様に不必要ではないため、答えは $ 1 $ です。
### Sample Explanation 2
この場合よい集合は存在しないため、全てのカードは不必要となります。