Skip to main content

Maximum Total Value - Solution & Explanation

HardArrayMathBinary SearchGreedy3 min readAsked at: Infosys
Practice this problem

Problem Statement

You are given two integer arrays value and decay, and an integer m.

  • value[i] represents the initial value at index i.
  • decay[i] represents how much the value decreases after each selection of index i.

You may select any index multiple times. The total number of selections across all indices must not exceed m.

If you select index i for the tth time, where t is 1-indexed, the value gained is value[i] - decay[i] * (t - 1).

Return the maximum total value you can obtain. Since the answer may be large, return it modulo 109 + 7.

 

Example 1:

Input: value = [6,5,4], decay = [2,1,1], m = 4

Output: 19

Explanation:

One optimal sequence of selections is as follows:

  • By selecting index 0, the value gained is 6.
  • By selecting index 1, the value gained is 5.
  • By selecting index 2, the value gained is 4.
  • By selecting index 0 again, the value gained is 6 - 2 = 4.

The total value is 6 + 5 + 4 + 4 = 19. No other sequence of at most 4 selections gives a higher total value.

Example 2:

Input: value = [7,2,2], decay = [3,2,1], m = 2

Output: 11

Explanation:

One optimal sequence of selections is as follows:

  • By selecting index 0, the value gained is 7.
  • By selecting index 0 again, the value gained is 7 - 3 = 4.

The total value is 7 + 4 = 11.

Example 3:

Input: value = [4,3], decay = [5,4], m = 5

Output: 7

Explanation:

One optimal sequence of selections is as follows:

  • By selecting index 0, the value gained is 4.
  • By selecting index 1, the value gained is 3.

The total value is 4 + 3 = 7.

 

Constraints:

  • 1 <= value.length == decay.length <= 105
  • 1 <= value[i], decay[i] <= 109​​​​​​​
  • 1 <= m <= 109

Approach Overview

Problem Overview: The exact algorithm and optimal strategy for Maximum Total Value depend entirely on the precise problem statement, including constraints, input format, and what "value" represents. Multiple LeetCode-style problems share this title pattern but require very different techniques such as dynamic programming, greedy selection, or heap-based optimization.

Without the original prompt, generating a concrete algorithm risks presenting an incorrect solution. For example, a "maximum total value" objective might involve selecting non-overlapping intervals (typically solved with dynamic programming and binary search), choosing k items under constraints (often solved using greedy strategies and sorting), or maximizing weighted profit across events (frequently solved with DP + prefix decisions or priority queues). Each variation leads to different complexity guarantees and implementation details.

Provide the full problem description including constraints, input structure, and example cases. With that information, the correct solution approach, complexity analysis, and optimized implementations can be produced.

Solutions for this problem are being prepared.

Try solving it yourself

Detailed Complexity Analysis

ApproachTimeSpaceWhen to Use
Brute Force EnumerationVaries (often O(2^n) or O(n^2))O(1) to O(n)Small constraints where all combinations can be checked
Greedy with SortingO(n log n)O(1) to O(n)Problems where locally optimal picks lead to global maximum
Dynamic ProgrammingO(n^2) or O(n log n)O(n)Overlapping subproblems such as weighted selections or interval choices
Heap / Priority Queue OptimizationO(n log n)O(n)When repeatedly selecting the best available value dynamically

Video Solution

Leetcode 3971 | weekly contest 507 | Maximum Total Value | Binary Search • Code With Vick • 608 views views

Watch 3 more video solutions →

Frequently Asked Questions

Is Maximum Total Value easy or hard?
Maximum Total Value is categorized as a Hard problem. The difficulty usually comes from combining multiple techniques such as sorting, dynamic programming transitions, and efficient selection of candidate values.
Maximum Total Value Python/Java solution
Python and Java implementations typically rely on sorting combined with dynamic programming or a priority queue. Python often uses heapq and list-based DP, while Java solutions use PriorityQueue, Arrays.sort, and iterative DP tables.
How to solve Maximum Total Value in O(n)?
An O(n) solution is only possible if the problem has strong constraints such as pre-sorted inputs or linear transitions between states. Most realistic variants require at least O(n log n) due to sorting, heap operations, or binary search during dynamic programming transitions.
What is the best approach for Maximum Total Value?
The best approach depends on the exact problem constraints and structure. Many "maximum value" problems use dynamic programming with sorting or greedy selection with a heap. Once the input structure is known, the optimal solution typically runs in O(n log n) or O(n^2) time with O(n) space.
Is Maximum Total Value asked at Google/Amazon/Meta?
Problems involving maximizing total value under constraints are common in interviews at companies like Google, Amazon, and Meta. They typically appear as variations of interval scheduling, weighted job selection, or constrained greedy optimization.
What data structure is used in Maximum Total Value?
Common data structures include arrays for dynamic programming states, priority queues for selecting the highest value candidate, and binary search over sorted structures. The exact structure depends on whether the problem involves scheduling, item selection, or cumulative profit optimization.
What is the time complexity of Maximum Total Value?
Time complexity varies by formulation. Brute force approaches can be exponential or quadratic, while optimized solutions often run in O(n log n) using sorting or priority queues. Dynamic programming variants may run in O(n^2) or O(n log n) depending on whether binary search optimization is used.

Ready to solve this problem?

Practice Maximum Total Value with our built-in code editor and test cases.

Practice on FleetCode