TomoLink
CompaniesInfosysData Structures & AlgorithmsMaximize the Total Height of Unique Towers
DSA
MediumArray

Maximize the Total Height of Unique Towers

arraygreedysorting

Problem Statement

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 exceed maximumHeight[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 .

Examples

Example 1
Input: maximumHeight = [2,3,4,3]
Output: 10
We can assign heights in the following way: [1, 2, 4, 3] .
Example 2
Input: maximumHeight = [15,10]
Output: 25
We can assign heights in the following way: [15, 10] .
Example 3
Input: maximumHeight = [2,2,1]
Output: -1
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
🤔
Medium
Difficulty
Topic Info
ModuleDSA
CategoryArray
Sub-topicGreedy
Tags
arraygreedysorting
Navigation
Maximize the Total Height of Unique Towers [Medium] | Infosys Dsa | TomoLink