diff --git a/3147. Taking Maximum Energy From the Mystic Dungeon b/3147. Taking Maximum Energy From the Mystic Dungeon new file mode 100644 index 0000000..9bb76bb --- /dev/null +++ b/3147. Taking Maximum Energy From the Mystic Dungeon @@ -0,0 +1,21 @@ +class Solution { +public: + int maximumEnergy(vector& energy, int k) { + int n = energy.size(); + + // Accumulate energy backwards for each k-group + for (int i = 0; i < k; i++) { + for (int j = n - i - 1; j >= k; j -= k) { + energy[j - k] += energy[j]; + } + } + + // Find the maximum accumulated energy + int maxa = INT_MIN; + for (int i = 0; i < n; i++) { + maxa = max(maxa, energy[n - i - 1]); + } + + return maxa; + } +};