Submission #282808

# Submission time Handle Problem Language Result Execution time Memory
282808 2020-08-25T01:06:39 Z Benq Happiness (Balkan15_HAPPINESS) C++14
0 / 100
1 ms 384 KB
#include "happiness.h"
#include <bits/stdc++.h>

using namespace std;

using ll = long long;
multiset<ll> todo[40];
ll SUM[40];

void ad(ll x, int b) {
	int p = 0; while ((1LL<<(p+1)) <= x) p ++;
	if (b == 1) {
		todo[p].insert(x), SUM[p] += x;
	} else {
		todo[p].erase(x), SUM[p] -= x;
	}
}

bool ok() {
	ll sum = 0;
	for (int i = 0; i < 40; ++i) if (todo[i].size() > 0) {
		ll x = *begin(todo[i]);
		if (sum+1 < x) return 0;
		if (todo[i].size() > 1 && sum+x < *next(begin(todo[i]))) return 0;
		sum += SUM[i];
	}
	return 1;
}

bool init(int coinsCount, long long maxCoinSize, long long coins[]) {
	for (int i = 0; i < coinsCount; ++i) ad(coins[i],1);
	return ok();
}

bool is_happy(int event, int coinsCount, long long coins[]) {
	for (int i = 0; i < coinsCount; ++i) {
		if (event == -1) ad(coins[i],-1);
		else ad(coins[i],1);
	}
	return ok();
}

Compilation message

grader.cpp: In function 'int main()':
grader.cpp:16:12: warning: unused variable 'max_code' [-Wunused-variable]
   16 |  long long max_code;
      |            ^~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Incorrect 1 ms 384 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Incorrect 1 ms 384 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Incorrect 1 ms 384 KB Output isn't correct
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Incorrect 1 ms 384 KB Output isn't correct
4 Halted 0 ms 0 KB -