Medium
Maximum Points After Enemy Battles — C++
Full explanation · Time O(n) · Space O(1)
// Time: O(n)
// Space: O(1)
// greedy
class Solution {
public:
long long maximumPoints(vector<int>& enemyEnergies, int currentEnergy) {
const int mn = ranges::min(enemyEnergies);
return currentEnergy >= mn ? ((currentEnergy - mn) + accumulate(cbegin(enemyEnergies), cend(enemyEnergies), 0ll)) / mn : 0;
}
};