Posted on

Description

Submission

class Solution {
public:
    bool isPossible(vector<int>& target) {
        priority_queue<int> pq;

        long long sum = 0;
        for(auto t: target) {
            pq.push(t);
            sum += t;
        }

        while(pq.top() != 1) {
            long long t = pq.top();
            pq.pop();
            long long others = sum - t;
            if(others == 0) return false;
            if(t <= others) return false;

            t = t % others;
            sum = others + t;
            pq.push(t);
        }

        return true;
    }
};

Leave a Reply

Your email address will not be published. Required fields are marked *