P12258 [蓝桥杯 2024 国 Java B] 背包问题
题目描述
神奇商店中一共有 $N$ 种不同的物品,第 $i$ 种物品的重量为 $W_i$,每种物品的数量都是无限个。店主会从中挑选任意种商品,每种商品可以选择任意个并将其装入到一个背包之中,从而可以组合出多种背包(这个背包可以容纳无限多的物品),其中背包的重量就是其中所含物品的重量之和。
小蓝想要的背包中至少要有 $K$ 件物品。小蓝想要知道,在所有满足他要求的背包中,如果将背包重量从小到大排序并去除重复的重量,排名第 $L$ 的重量是多少。
输入格式
第一行输入三个整数,用空格分隔,依次是 $N$、$K$、$L$。
第二行输入 $N$ 个用空格分隔的整数表示 $N$ 件物品的重量。
输出格式
输出一行,包含一个整数表示答案。
说明/提示
### 样例说明
背包中物品个数大于等于 $2$ 时,从小到大依次出现的背包重量为:
$6 = 3 + 3$、$8 = 3 + 5$、$9 = 3 + 3 + 3$、$10 = 5 + 5$、$11 = 3 + 3 + 5$、$12 = 3 + 3 + 3 + 3$、$13 = 3 + 5 + 5$。
### 评测用例规模与约定
- 对于 $40\%$ 的评测用例,$1 \leq W_i \leq 100$,$1 \leq L \leq 10$。
- 对于 $100\%$ 的评测用例,$1 \leq N \leq 10$,$1 \leq K \leq 10$,$1 \leq W_i \leq 10^9$,$1 \leq L \leq 10^5$