Submission #775375

# Submission time Handle Problem Language Result Execution time Memory
775375 2023-07-06T10:31:43 Z VMaksimoski008 Happiness (Balkan15_HAPPINESS) C++17
40 / 100
443 ms 524288 KB
#include "happiness.h"
using ll = long long;

struct Node {
	ll sum, l, r;
	Node *lc, *rc;

	Node(ll tl, ll tr) : sum(0), l(tl), r(tr), lc(nullptr), rc(nullptr) {}

	void update(ll pos, ll val) {
		this->sum += val;
		if(l == r) return ;
		int tm = (l + r) / 2;
		if(pos <= tm) {
			if(!lc) this->lc = new Node(l, tm);
			lc->update(pos, val);
		} else {
			if(!rc) this->rc = new Node(tm+1, r);
			rc->update(pos, val);
		}
	}

	ll query(ll tl, ll tr) {
		if(tl > r || l > tr) return 0;
		if(r <= tr && l >= tl) return this->sum;
		ll res = 0;
		if(lc) res += lc->query(tl,tr);
		if(rc) res += rc->query(tl,tr);
		return res;
	}
};

Node *root;

bool check() {
	ll curr = 1;
	ll sum = root->sum;
	while(sum > curr) {
		ll res = root->query(1, curr);
		if(res < curr) return false;
		curr = res + 1;
	}
	return true;
}

bool init(int coinsCount, long long maxCoinSize, long long coins[]) {
	root = new Node(1, maxCoinSize);
	for(int i=0; i<coinsCount; i++)
		root->update(coins[i], coins[i]);
	return check();
}

bool is_happy(int event, int coinsCount, long long coins[]) {
	for(int i=0; i<coinsCount; i++)
		root->update(coins[i], coins[i] * event);
	return check();
}

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 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Runtime error 353 ms 524288 KB Execution killed with signal 9
7 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 283 ms 34300 KB Output is correct
7 Correct 265 ms 37064 KB Output is correct
8 Correct 335 ms 37456 KB Output is correct
9 Correct 395 ms 48604 KB Output is correct
10 Correct 443 ms 52616 KB Output is correct
11 Correct 125 ms 36928 KB Output is correct
12 Correct 117 ms 37148 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 212 KB Output is correct
2 Correct 1 ms 212 KB Output is correct
3 Correct 0 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Runtime error 353 ms 524288 KB Execution killed with signal 9
7 Halted 0 ms 0 KB -