Maximize Monsters Defeated
Problem statement
Defeating monster i consumes bulletRequirements[i] bullets and one poison dose. Each monster may be defeated at most once.
Given the available bullets and poison doses, return the maximum number of monsters that can be defeated.
Function
maximizeMonstersDefeated(bulletRequirements: int[], availableBullets: int, poisonDoses: int) → intExamples
Example 1
bulletRequirements = [4,2,7,1]availableBullets = 7poisonDoses = 3return = 3Case 1 exercises the documented deterministic contract.
Example 2
bulletRequirements = [5,6]availableBullets = 20poisonDoses = 1return = 1Case 2 exercises the documented deterministic contract.
Example 3
bulletRequirements = [1,1,1]availableBullets = 2poisonDoses = 3return = 2Case 3 exercises the documented deterministic contract.
Constraints
1 <= bulletRequirements.length <= 200000.0 <= bulletRequirements[i], availableBullets <= 10^9.0 <= poisonDoses <= bulletRequirements.length.