제출 #1188677

#제출 시각아이디문제언어결과실행 시간메모리
1188677sonyaHappiness (Balkan15_HAPPINESS)C++20
30 / 100
2095 ms5704 KiB
#include "happiness.h"
#include <set>
using namespace std;

multiset<long long> inputcoins;

bool check_happiness() {
    long long reach = 0;
    for (auto x : inputcoins) {
        if (x > reach + 1) return false;
        reach += x;
        if (reach >= 1e18) break; // безопасност
    }
    return true;
}

bool init(int coinsCount, long long maxCoinSize, long long coins[]) {
    inputcoins.clear();
    for (int i = 0; i < coinsCount; ++i)
        inputcoins.insert(coins[i]);
    return check_happiness();
}

bool is_happy(int event, int coinsCount, long long coins[]) {
    if (event == -1) {
        for (int i = 0; i < coinsCount; ++i) {
            auto it = inputcoins.find(coins[i]);
            if (it != inputcoins.end()) inputcoins.erase(it);
        }
    } else {
        for (int i = 0; i < coinsCount; ++i)
            inputcoins.insert(coins[i]);
    }
    return check_happiness();
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...