FastPrepFastPrep
Problem Brief

Get Maximum Amount

FULLTIMEOA
See IBM online assessment and hiring insights

There are n types of items in a shop, where the number of items of type i is denoted by quantity[i]. The price of the items is determined dynamically, where the price of the ith item is equal to the remaining number of items of type i. There are m customers in line to buy the items from the shop, and each customer will buy exactly one item of any type.

The shopkeeper, being greedy, tries to sell the items in a way that maximises revenue. Find the maximum amount the shopkeeper can earn by selling exactly m items to the customers optimally.

Function Description

Complete the function getMaximumAmount in the editor.

getMaximumAmount has the following parameter:

  1. int quantity[n]: the number of items of each type

Returns

long integer: the maximum revenue possible

1Example 1

Input
quantity = [10, 10, 8, 9, 1], m = 6
Output
55
Explanation
N/A for now

2Example 2

Input
quantity = [1, 2, 4], m = 4
Output
11
Explanation
Example 2 illustration

Constraints

Limits and guarantees your solution can rely on.

  • 1 ≤ n ≤ 10^5
  • 1 ≤ m ≤ 10^5
  • 1 ≤ quantity[i] ≤ 10^5
public long getMaximumAmount(int[] quantity, int m) {
  // write your code here
}
Input

quantity

[10, 10, 8, 9, 1]

m

6

Output

55

Sign in to submit your solution.