#B13. K 件物品的最大和
K 件物品的最大和
题目描述
小明参加了一个集卡游戏,背包里共有三种类型的卡片:
- 数值为 1 的卡片,共有
numOnes张。 - 数值为 0 的卡片,共有
numZeros张。 - 数值为 -1 的卡片,共有
numNegOnes张。
小明需要从背包中恰好取出 张卡片。为了使手中卡片的数值总和最大,他应该如何选择卡片?请你计算他能获得的最大数值总和。
注意:
- 每种卡片的数量是有限的,不能超过库存。
- 必须恰好取 张,不能多也不能少。
- 优先取数值大的卡片是贪心策略的核心。
输入格式
一行包含四个整数 numOnes, numZeros, numNegOnes, k,分别表示数值为 1、0、-1 的卡片数量以及需要选取的卡片总数。
数据范围:
- $0 \le \text{numOnes}, \text{numZeros}, \text{numNegOnes} \le 50$
- $1 \le k \le \text{numOnes} + \text{numZeros} + \text{numNegOnes}$
输出格式
输出一个整数,表示选取 张卡片能得到的最大数值总和。
3 2 1 4
3