#arc070b. [arc070_b]No Need

[arc070_b]No Need

题目描述

阿特科鹿有NN张卡片,上面写着正整数。第ii张卡片(1iN1≤i≤N)上的数字是aia_i。由于他喜欢大数,当卡片中数字的和等于KK或更大时,他把卡片的子集称为“好”子集。

然后,对于每张卡片ii,他判断它是否是“不必要”的,如下所示:

  • 如果对于任何包含卡片ii的好子集,从子集中去除卡片ii后得到的集合也是好子集,则卡片ii是不必要的。
  • 否则,卡片ii是“不必要”的。

找出不必要的卡片的数量。在这里,他对每张卡片进行独立判断,并且不丢弃卡片,即使它最终被判定为不必要。

约束条件

  • 所有输入值都是整数。
  • 1N50001≤N≤5000
  • 1K50001≤K≤5000
  • 1ai109(1iN)1≤a_i≤10^9 (1≤i≤N)

输入

从标准输入读入输入数据,格式如下:

NN KK

a1a_1 a2a_2 ... aNa_N

输出

打印不必要的卡片的数量。

示例输入 1

3 6
1 4 3

示例输出 1

1

存在两个好子集:{2,32,3} 和 {1,2,31,2,3}。

卡片11只出现在{1,2,31,2,3}中,而去掉卡片11之后的子集{2,32,3}也是好子集。因此,卡片11是不必要的。

对于卡片22,一个不包含卡片22的好子集{2,32,3}没有成为一个好子集。因此,卡片22不是不必要的。

类似的原因,卡片33也不是不必要的,所以答案是11

示例输入 2

5 400
3 1 4 1 5

示例输出 2

5

在这种情况下,没有好子集。因此,所有的卡片都是不必要的。

示例输入 3

6 20
10 4 3 10 25 2

示例输出 3

3