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;
}
};
-
3:10:46
Ellie_roe
4 hours agoEllie and Errys Halloween Spooktacular || Random Horror Games
11K -
50:27
Sarah Westall
6 hours agoBig Banks Caught Rigging Market, IMF tells World to “Buckle Up” w/ Andy Schectman
25.3K5 -
13:54
Degenerate Jay
12 hours ago $0.91 earned5 Best Superhero Movies To Watch On Halloween
11.1K2 -
59:03
NAG Podcast
5 hours agoSarah Fields: BOLDTALK W/Angela Belcamino
17.7K5 -
1:21:41
Glenn Greenwald
8 hours agoGlenn Takes Your Questions: On the Argentina Bailout, Money in Politics, and More | SYSTEM UPDATE #541
76.8K38 -
3:10:08
Barry Cunningham
5 hours agoPRESIDENT TRUMP TO USE NUCLEAR OPTION? FOOD STAMPS END! | SHUTDOWN DAY 31
45.2K31 -
1:06:56
BonginoReport
13 hours agoThe Battle Between Good & Evil w/ Demonologist Rick Hansen - Hayley Caronia (Ep.168)
97.9K32 -
1:12:57
Kim Iversen
8 hours agoBill Gates Suddenly Says “Don’t Worry About Climate Change”?
88.3K60 -
1:05:12
Michael Franzese
8 hours agoI Waited 50 Years to Tell You What Happened on Halloween 1975
44K16 -
1:07:15
Candace Show Podcast
8 hours agoINFILTRATION: Charlie Kirk Was Being Tracked For Years. | Candace Ep 256
90.7K351