제출 #775375

#제출 시각아이디문제언어결과실행 시간메모리
775375VMaksimoski008Happiness (Balkan15_HAPPINESS)C++17
40 / 100
443 ms524288 KiB
#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(); }

컴파일 시 표준 에러 (stderr) 메시지

grader.cpp: In function 'int main()':
grader.cpp:16:12: warning: unused variable 'max_code' [-Wunused-variable]
   16 |  long long max_code;
      |            ^~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...