atcoder#ARC070B. [ABC056D] No Need
[ABC056D] No Need
题目描述
シカのAtCoDeerくんは正整数が書かれたカードを 枚持っています。 枚目に書かれている数は です。 AtCoDeerくんは大きい数が好きなので、カードに書かれた数の総和が 以上になるようなカードの部分集合をよい集合と呼びます。
そして、各カード に対して、そのカードが不必要かどうかを次のように判定します。
- 「カード を含む任意のよい集合に対して、その集合からカード を除いたものもよい集合」 ならカード は不必要
- それ以外の場合は、不必要でない
不必要なカードの枚数を求めてください。ただし、それぞれの判定は独立に行われ、不必要だからと言ってカードが途中で捨てられたりすることはありません。
输入格式
入力は以下の形式で標準入力から与えられる。
...
输出格式
不必要なカードの枚数を出力せよ。
题目大意
给出一个由N个整数构成的集合和一个整数K,若该集合中的的非空子集和大于等于K,则称该子集为优秀的集合
若去掉一个数不会对优秀集合的个数产生影响,则称该数字为“可有可无的数字”
请求出在N个数中“可有可无的数字”个数
3 6
1 4 3
1
5 400
3 1 4 1 5
5
6 20
10 4 3 10 25 2
3
提示
制約
- 入力は全て整数
部分点
- を満たすデータセットに正解した場合は、部分点として 点が与えられる。
Sample Explanation 1
よい集合は {} と {} の二つです。 カード を含むよい集合は {} しかなく、これから を取り除いた {} もよい集合なので、カード は不必要です。 また、よい集合である {} から を取り除いた集合 {} はよい集合ではないため、カード は不必要ではありません。 カード も同様に不必要ではないため、答えは です。
Sample Explanation 2
この場合よい集合は存在しないため、全てのカードは不必要となります。