Maximum Enemies Defeated Within Energy Budget
Problem: You are given two arrays, layers (energy required to defeat the enemy at index i) and energy (minimum energy that must remain after defeating that enemy), of length n, plus an initial energy budget K. Starting from each index i, determine the maximum number of consecutive enemies (moving forward) that can be defeated without the remaining energy dropping below the required minimum after any fight.
Constraints: 1 <= n <= 10^5.
Example: n=3, K=10, layers=[5,8,1], energy=[5,2,1] Starting at index 1 (1-indexed): K-5=5 >= 5 (ok), next enemy needs 8 but only 5 left -> stop. Result for starting index 1 is 1 enemy defeated. Output array (per starting index) = [1,2,1].
Approach: For each starting index, simulate forward while remainingEnergy - layers[i] >= energy[i], decrementing energy and counting kills; because n can be 10^5, a naive O(n^2) simulation may need optimization (e.g., binary search on prefix sums of layers or two-pointer/monotonic techniques) depending on whether layers/energy allow prefix-sum-based feasibility checks.