Minimum Amount
Problem statement
You are given an integer array prices. The items must be purchased from left to right.
- The first item is purchased at full price.
- For every later item, the discount equals the minimum original price among all previously purchased items.
- An item's final price cannot be negative.
Return the total amount paid for all items.
Function
minimumAmount(prices: int[]) → longExamples
Example 1
prices = [2,5,1,4]return = 8The four costs are 2, 5 - 2 = 3, max(1 - 2, 0) = 0, and 4 - 1 = 3. Their sum is 8.
Example 2
prices = [4,9,2,3]return = 10The four costs are 4, 9 - 4 = 5, max(2 - 4, 0) = 0, and 3 - 2 = 1. Their sum is 10.
Example 3
prices = [7]return = 7The only item is the first item, so it is purchased at full price.
Constraints
1 <= prices.length <= 10^5.1 <= prices[i] <= 10^7.