Premium Only Content

2593. Find Score of an Array After Marking All Elements
You are given an array nums consisting of positive integers.
Starting with score = 0, apply the following algorithm:
Choose the smallest integer of the array that is not marked. If there is a tie, choose the one with the smallest index.
Add the value of the chosen integer to score.
Mark the chosen element and its two adjacent elements if they exist.
Repeat until all the array elements are marked.
Return the score you get after applying the above algorithm.
Example 1:
Input: nums = [2,1,3,4,5,2]
Output: 7
Explanation: We mark the elements as follows:
- 1 is the smallest unmarked element, so we mark it and its two adjacent elements: [2,1,3,4,5,2].
- 2 is the smallest unmarked element, so we mark it and its left adjacent element: [2,1,3,4,5,2].
- 4 is the only remaining unmarked element, so we mark it: [2,1,3,4,5,2].
Our score is 1 + 2 + 4 = 7.
Example 2:
Input: nums = [2,3,5,1,3,2]
Output: 5
Explanation: We mark the elements as follows:
- 1 is the smallest unmarked element, so we mark it and its two adjacent elements: [2,3,5,1,3,2].
- 2 is the smallest unmarked element, since there are two of them, we choose the left-most one, so we mark the one at index 0 and its right adjacent element: [2,3,5,1,3,2].
- 2 is the only remaining unmarked element, so we mark it: [2,3,5,1,3,2].
Our score is 1 + 2 + 2 = 5.
Constraints:
1 <= nums.length <= 105
1 <= nums[i] <= 106
#define ll long long
class Solution {
public:
long long findScore(vector<int>& nums) {
ll score = 0;
int n = nums.size();
vector<pair<int,int>> vec;
unordered_map<int,int> mp;
for(int i=0; i<n; i++)
vec.push_back({nums[i], i});
sort(vec.begin(), vec.end());
for(int i=0; i<n; i++){
if(mp.find(vec[i].first) == mp.end() && nums[vec[i].second] != INT_MAX){
if(vec[i].second-1 >= 0) nums[vec[i].second - 1] = INT_MAX;
if(vec[i].second+1 < n) nums[vec[i].second + 1] = INT_MAX;
score += vec[i].first;
}
}
return score;
}
};
-
LIVE
BEK TV
22 hours agoTrent Loos in the Morning - 9/18/2025
197 watching -
LIVE
The Bubba Army
22 hours agoJimmy Kimmel FIRED! - Bubba the Love Sponge® Show | 9/18/25
2,664 watching -
10:51
Degenerate Jay
15 hours ago $0.51 earnedWe Finally Have Proof That Metal Gear Solid V Was Unfinished
18K3 -
13:17
AndresRestart
18 hours ago $1.07 earnedThis Mario Galaxy 2 Remaster Is Better Than We Thought!
12.4K4 -
59:16
CarlCrusher
12 hours agoAncient Psionic UFO Contact in Skinwalker Territory with Vetted & WHY Files - Ep 3
8.5K4 -
25:17
Esports Awards
18 hours agoFrom Gamer to CEO: Cherrygumms’ Journey in Esports | Origins Podcast #29
11.7K4 -
20:08
Professor Gerdes Explains 🇺🇦
17 hours agoThe Polish Drone Strike was a Russian PSYOP
9.04K6 -
5:57
Breaking Points
19 hours agoJudge DROPS Terrorism Charge Against Luigi
12.6K5 -
2:17:45
Side Scrollers Podcast
21 hours agoDestiny & Hasan in “Deep Trouble” + Legal Mindset on Charlie Kirk Firings + More | Side Scrollers
29K17 -
55:35
Dialogue works
1 day ago $1.60 earnedJohn Helmer: The Moves Russia Is Making to OUTMANEUVER NATO
31.5K7