AT_arc070_b [ABC056D] No Need
题目描述
シカ的 AtCoDeer 君拥有 $N$ 张写有正整数的卡片。其中,第 $i$ 张卡片上写着数字 $a_i$。AtCoDeer 君喜欢大的数字,因此将所有卡片中数字总和不小于 $K$ 的部分集合称为“好集合”。
对于每一张卡片 $i$,判断该卡片是否“不必要”,规则如下:
- 对于任意包含卡片 $i$ 的“好集合”,如果将该集合去掉卡片 $i$ 后,仍然是“好集合”,那么卡片 $i$ 被认为“不必要”。
- 否则,认为卡片 $i$ 是“必要”的(不是“不必要”)。
请你计算不必要的卡片数量。每张卡片独立判定,“不必要”的卡片不会在判定过程中被丢弃。
输入格式
输入按以下格式从标准输入读入。
> $N$ $K$ $a_1$ $a_2$ ... $a_N$
输出格式
输出不必要卡片的数量。
说明/提示
## 限制条件
- 所有输入均为整数。
- $1 \leq N \leq 5000$。
- $1 \leq K \leq 5000$。
- $1 \leq a_i \leq 10^9 \quad (1 \leq i \leq N)$。
## 部分得分
- 如果能通过满足 $N,K\leq 400$ 的数据集,可以获得部分得分 $300$ 分。
## 样例解释 1
“好集合”为 {$2,3$} 和 {$1,2,3$} 这两个。包含卡片 $1$ 的“好集合”只有 {$1,2,3$},从中去掉 $1$ 得到 {$2,3$},它也是“好集合”,所以卡片 $1$ 是“不必要”的。另一方面,“好集合”{$2,3$} 去掉 $2$ 得到 {$3$},它不是“好集合”,所以卡片 $2$ 不是“不必要”的。卡片 $3$ 同理也不是“不必要”的,因此答案是 $1$。
## 样例解释 2
这种情况下“好集合”不存在,所以所有卡片都被认为是不必要的。
由 ChatGPT 5 翻译