/*
* @lc app=leetcode.cn id=2600 lang=typescript
*
* [2600] K 件物品的最大和
*/
// @lc code=start
function kItemsWithMaximumSum(numOnes: number, numZeros: number, numNegOnes: number, k: number): number {}
// @lc code=end
function kItemsWithMaximumSum(numOnes: number, numZeros: number, numNegOnes: number, k: number): number {
if (numOnes + numZeros >= k) return Math.min(numOnes, k)
return numOnes - (k - (numOnes + numZeros))
}
test.each([
{ input: { numOnes: 3, numZeros: 2, numNegOnes: 0, k: 2 }, output: 2 },
{ input: { numOnes: 3, numZeros: 2, numNegOnes: 0, k: 4 }, output: 3 },
])(
'input: numOnes = $input.numOnes, numZeros = $input.numZeros, numNegOnes = $input.numNegOnes, k = $input.k',
({ input: { numOnes, numZeros, numNegOnes, k }, output }) => {
expect(kItemsWithMaximumSum(numOnes, numZeros, numNegOnes, k)).toEqual(output)
},
)