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:04:10
The Connect: With Johnny Mitchell
8 hours ago $3.33 earnedTucker Carlson's INSANE Take On Civil War In America, Calls For Fascism
18.6K39 -
2:35:14
DLDAfterDark
6 hours ago $3.30 earnedThe Return of Marine Gun Builder? MGB, DLD, BDG&G After Hours Armory
20.9K3 -
28:39
Afshin Rattansi's Going Underground
1 day agoDonald Trump’s Gaza Peace Plan: A Pivotal Moment or Farce? (Palestinian Deputy Foreign Minister)
27.4K6 -
3:31:29
SavageJayGatsby
7 hours ago🔥 Spicy Saturday – Let's Play: Prison Life 2🔥
50.9K2 -
4:34:18
cosmicvandenim
14 hours agoCOSMIC VAN DENIM | WARZONE HORROR
18.8K1 -
29:09
Stephen Gardner
11 hours ago🚨Trump DECLARES WAR on TERRORIST LEFT!
31.3K60 -
4:16:00
NellieBean
6 hours ago🔴 Lost Girl looks for Lost Village
9.48K -
30:07
JohnXSantos
1 day ago $1.02 earnedWhy Clothing Brands NEVER Fail- Master Class
8.53K -
4:08:42
Spartan
5 hours agoOMiT Spartan | God of War Ragnarok, College Halo match @ 9:30 EST, then ranked or more GoW:R
4.82K -
2:36:35
John_Goetz
5 hours agoJohn Gets Gaming - Ghost of Yotei
3.31K