LeetCode #2593

Find Score of an Array After Marking All Elements

1개의 풀이 · C++

문제 원문 보기 ↗

SOLUTION INFO

C++ · main.cpp

main.cpp
class Solution {
public:
    long long findScore(vector<int>& nums) {
        int N = (int)nums.size();
        vector<int> used(N);
        priority_queue<pair<int, int>, vector<pair<int, int>>, greater<pair<int, int>>> pq;
        for(int i = 0; i < N; ++i) pq.emplace(nums[i], i);
        long long ans = 0;
        while(!pq.empty()) {
            auto [a, b] = pq.top(); pq.pop();
            if(used[b]) continue;
            for(int k = -1; k <= 1; ++k) {
                int idx = b + k;
                if(0 <= idx && idx < N) used[idx] = 1;
            }
            ans += a;
        }
        return ans;
    }
};

SOLUTION DESCRIPTION

풀이 설명

등록된 풀이 설명이 없습니다.