200701: [AtCoder]ARC070 D - No Need

Memory Limit:256 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

Score : $600$ points

Problem Statement

AtCoDeer the deer has $N$ cards with positive integers written on them. The number on the $i$-th card $(1≤i≤N)$ is $a_i$. Because he loves big numbers, he calls a subset of the cards good when the sum of the numbers written on the cards in the subset, is $K$ or greater.

Then, for each card $i$, he judges whether it is unnecessary or not, as follows:

  • If, for any good subset of the cards containing card $i$, the set that can be obtained by eliminating card $i$ from the subset is also good, card $i$ is unnecessary.
  • Otherwise, card $i$ is NOT unnecessary.

Find the number of the unnecessary cards. Here, he judges each card independently, and he does not throw away cards that turn out to be unnecessary.

Constraints

  • All input values are integers.
  • $1≤N≤5000$
  • $1≤K≤5000$
  • $1≤a_i≤10^9 (1≤i≤N)$

Partial Score

  • $300$ points will be awarded for passing the test set satisfying $N,K≤400$.

Input

The input is given from Standard Input in the following format:

$N$ $K$
$a_1$ $a_2$ ... $a_N$

Output

Print the number of the unnecessary cards.


Sample Input 1

3 6
1 4 3

Sample Output 1

1

There are two good sets: {$2,3$} and {$1,2,3$}.

Card $1$ is only contained in {$1,2,3$}, and this set without card $1$, {$2,3$}, is also good. Thus, card $1$ is unnecessary.

For card $2$, a good set {$2,3$} without card $2$, {$3$}, is not good. Thus, card $2$ is NOT unnecessary.

Neither is card $3$ for a similar reason, hence the answer is $1$.


Sample Input 2

5 400
3 1 4 1 5

Sample Output 2

5

In this case, there is no good set. Therefore, all the cards are unnecessary.


Sample Input 3

6 20
10 4 3 10 25 2

Sample Output 3

3

Input

题意翻译

给出一个由N个整数构成的集合和一个整数K,若该集合中的的非空子集和大于等于K,则称该子集为优秀的集合 若去掉一个数不会对优秀集合的个数产生影响,则称该数字为“可有可无的数字” 请求出在N个数中“可有可无的数字”个数

加入题单

算法标签: