#include "happiness.h"
#include <set>
#include <vector>
#include <algorithm>
using namespace std;
multiset<long long> coins_set;
long long total_sum = 0;
bool check_happy() {
long long reach = 0;
for (long long coin : coins_set) {
if (coin > reach + 1) return false;
reach += coin;
}
return true;
}
bool init(int coinsCount, long long maxCoinSize, long long coins[]) {
coins_set.clear();
total_sum = 0;
for (int i = 0; i < coinsCount; ++i) {
coins_set.insert(coins[i]);
total_sum += coins[i];
}
return check_happy();
}
bool is_happy(int event, int coinsCount, long long coins[]) {
if (event == -1) { // shopping → remove
for (int i = 0; i < coinsCount; ++i) {
auto it = coins_set.find(coins[i]);
if (it != coins_set.end()) {
coins_set.erase(it);
total_sum -= coins[i];
}
}
} else if (event == 1) { // wage → add
for (int i = 0; i < coinsCount; ++i) {
coins_set.insert(coins[i]);
total_sum += coins[i];
}
}
return check_happy();
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |