FastPrepFastPrep
Problem Brief

Maximum System Memory Capacity

INTERNOA

The developers at Amazon are working on optimising the capacity of their cloud system. In the system, there are n servers where the memory capacity of the i-th server is represented by the array memory[i].

A system always contains an even number of servers. If the system has 2x servers, then x of them will be primary and the other x will be backup servers.

For each primary server P, there exists a backup server B where the memory capacity of B ≥ memory capacity of P. The system's memory capacity is the sum of the memory capacity of all the primary servers.

Given n servers and an array memory, find the maximum system memory capacity that can be formed using the n servers.

Function Description

Complete the function maximumCapacity in the editor below.

maximumCapacity has the following parameter:

  • int memory[n]: the memory capacity of the given servers

Returns

long int: the maximum system memory capacity

1Example 1

Input
memory = [1, 2, 1, 2]
Output
3
Explanation
Here, we have 4 servers [serverA, serverB, serverC, serverD] having memory sizes as [1, 2, 1, 2]. We can choose serverA and serverB as primary servers, and serverC and serverD as their respective backup. The conditions hold true since memory[serverC] ≥ memory[serverA] and memory[serverD] ≥ memory[serverB]. Hence, the maximum system memory capacity is 3.

2Example 2

Input
memory = [1, 2, 1]
Output
1
Explanation
Here, we have 3 servers [serverA, serverB, serverC] having memory sizes as [1, 2, 1]. We can choose serverA as a primary server, and serverB as its respective backup server. The conditions hold true since memory[serverB] ≥ memory[serverA]. Hence, the maximum system memory capacity is 1.

3Example 3

Input
memory = [2, 4, 3, 1, 2]
Output
5
Explanation
Example 3 illustration
n the second configuration, the system memory capacity is memory[serverA] + memory[serverD] = 3. While in the third configuration, it is memory[serverA] + memory[serverC] = 5. Hence, the maximum system memory capacity is 5.

Constraints

Limits and guarantees your solution can rely on.

  • 2 ≤ n ≤ 2*10^5
  • 1 ≤ size[i] (I guess it is supposed to be memory[i] :) ≤ 10^9
public long maximumCapacity(int[] memory) {
  // write your code here
}
Input

memory

[1, 2, 1, 2]

Output

3

Sign in to submit your solution.