3301. Maximize the Total Height of Unique Towers
3301. Maximize the Total Height of Unique Towers
Description
You are given an array maximumHeight
, where maximumHeight[i]
denotes the maximum height the i^th
tower can be assigned.
Your task is to assign a height to each tower so that:
- The height of the
i^th
tower is a positive integer and does not exceedmaximumHeight[i]
. - No two towers have the same height.
Return the maximum possible total sum of the tower heights. If it’s not possible to assign heights, return -1
.
Example 1:
1 | Input: maximumHeight = [2,3,4,3] |
Explanation:
We can assign heights in the following way: [1, 2, 4, 3]
.
Example 2:
1 | Input: maximumHeight = [15,10] |
Explanation:
We can assign heights in the following way: [15, 10]
.
Example 3:
1 | Input: maximumHeight = [2,2,1] |
Explanation:
It’s impossible to assign positive heights to each index so that no two towers have the same height.
Constraints:
1 <= maximumHeight.length<= 10^5
1 <= maximumHeight[i] <= 10^9
Hints/Notes
- 2024/09/15
- sorting or priority_queue
- 0x3F’s solution(checked)
- Biweekly Contest 140
Solution
Language: C++
Sorting
1 | class Solution { |
priority queue:
1 | class Solution { |