#ATarc070b. [ABC056D] No Need

[ABC056D] No Need

题目描述

シカ的 AtCoDeer 君拥有 NN 张写有正整数的卡片。其中,第 ii 张卡片上写着数字 aia_i。AtCoDeer 君喜欢大的数字,因此将所有卡片中数字总和不小于 KK 的部分集合称为“好集合”。

对于每一张卡片 ii,判断该卡片是否“不必要”,规则如下:

  • 对于任意包含卡片 ii 的“好集合”,如果将该集合去掉卡片 ii 后,仍然是“好集合”,那么卡片 ii 被认为“不必要”。
  • 否则,认为卡片 ii 是“必要”的(不是“不必要”)。

请你计算不必要的卡片数量。每张卡片独立判定,“不必要”的卡片不会在判定过程中被丢弃。

输入格式

输入按以下格式从标准输入读入。

NN KK a1a_1 a2a_2 ... aNa_N

输出格式

输出不必要卡片的数量。

样例 1

输入

3 6
1 4 3

输出

1

样例 2

输入

5 400
3 1 4 1 5

输出

5

样例 3

输入

6 20
10 4 3 10 25 2

输出

3

说明/提示

限制条件

  • 所有输入均为整数。
  • 1N50001 \leq N \leq 5000
  • 1K50001 \leq K \leq 5000
  • 1ai109(1iN)1 \leq a_i \leq 10^9 \quad (1 \leq i \leq N)

部分得分

  • 如果能通过满足 N,K400N,K\leq 400 的数据集,可以获得部分得分 300300 分。

样例解释 1

“好集合”为 {2,32,3} 和 {1,2,31,2,3} 这两个。包含卡片 11 的“好集合”只有 {1,2,31,2,3},从中去掉 11 得到 {2,32,3},它也是“好集合”,所以卡片 11 是“不必要”的。另一方面,“好集合”{2,32,3} 去掉 22 得到 {33},它不是“好集合”,所以卡片 22 不是“不必要”的。卡片 33 同理也不是“不必要”的,因此答案是 11

样例解释 2

这种情况下“好集合”不存在,所以所有卡片都被认为是不必要的。

由 ChatGPT 5 翻译