atcoder#ARC070B. [ABC056D] No Need
[ABC056D] No Need
配点 : 点
問題文
シカのAtCoDeerくんは正整数が書かれたカードを 枚持っています。 枚目に書かれている数は です。 AtCoDeerくんは大きい数が好きなので、カードに書かれた数の総和が 以上になるようなカードの部分集合をよい集合と呼びます。
そして、各カード に対して、そのカードが不必要かどうかを次のように判定します。
- 「カード を含む任意のよい集合に対して、その集合からカード を除いたものもよい集合」 ならカード は不必要
- それ以外の場合は、不必要でない
不必要なカードの枚数を求めてください。ただし、それぞれの判定は独立に行われ、不必要だからと言ってカードが途中で捨てられたりすることはありません。
制約
- 入力は全て整数
部分点
- を満たすデータセットに正解した場合は、部分点として 点が与えられる。
入力
入力は以下の形式で標準入力から与えられる。
...
出力
不必要なカードの枚数を出力せよ。
3 6
1 4 3
1
よい集合は {} と {} の二つです。
カード を含むよい集合は {} しかなく、これから を取り除いた {} もよい集合なので、カード は不必要です。
また、よい集合である {} から を取り除いた集合 {} はよい集合ではないため、カード は不必要ではありません。
カード も同様に不必要ではないため、答えは です。
5 400
3 1 4 1 5
5
この場合よい集合は存在しないため、全てのカードは不必要となります。
6 20
10 4 3 10 25 2
3