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;
}
};
-
1:02:50
Flyover Conservatives
9 hours agoEric Trump: America’s Most Subpoenaed Man SPEAKS OUT! | FOC Show
20.8K5 -
LIVE
PandaSub2000
1 day agoLIVE 10/3 @10pm ET | SUPER MARIO GALAXY 1 & 2 on SWITCH 2
237 watching -
1:26:04
Glenn Greenwald
8 hours agoJournalist Ken Klippenstein on Trump's New Domestic Terrorism Memo; Glenn Takes Your Questions on Bari Weiss's CBS Role, His Interview with Nick Fuentes, and More | SYSTEM UPDATE #526
75.8K56 -
SynthTrax & DJ Cheezus Livestreams
2 days agoFriday Night Synthwave 80s 90s Electronica and more DJ MIX Livestream GOTH NIGHT Special Edition
27.1K2 -
2:20:47
Mally_Mouse
5 days agoFriend Friday!! 🎉 - Let's Play! - Lockdown Protocol
29.5K1 -
LIVE
MissesMaam
4 hours ago*Spicy* Friend Friday LOCKDOWN Protocol!!! :: SpookTober 💚✨
199 watching -
41:36
MattMorseTV
5 hours ago $0.80 earned🔴Portland just made a BIG MISTAKE.🔴
43.6K73 -
13:10:23
LFA TV
1 day agoLIVE & BREAKING NEWS! | FRIDAY 10/3/25
165K46 -
4:07:27
Nerdrotic
9 hours ago $0.33 earnedHollywood is TARIFFied, James Gunn Attacks Fans, Bill Burqa, RoP is Doomed | Friday Night Tights 374
76.1K13 -
LIVE
Eternal_Spartan
13 hours ago🟢 Eternal Spartan Plays Destiny 2 | The Best PVP/PVE Action!| USMC Veteran
39 watching