Submission #1043275

#TimeUsernameProblemLanguageResultExecution timeMemory
1043275BF001Happiness (Balkan15_HAPPINESS)C++17
100 / 100
807 ms380244 KiB
#include "happiness.h" #include<bits/stdc++.h> using namespace std; struct node{ long long l, r, val; node* lc, *rc; node(long long l1, long long r1){ l = l1, r = r1; val = 0; lc = NULL; rc = NULL; } void ud(long long pos, long long v){ val += v; if (l == r) return; long long mid = (l + r) >> 1; if (pos > mid){ if (!rc) rc = new node(mid + 1, r); rc -> ud(pos, v); } else{ if (!lc) lc = new node(l, mid); lc -> ud(pos, v); } } long long get(long long u, long long v){ if (l > v || r < u) return 0; if (l >= u && r <= v) return val; long long t = 0, tt = 0; if (lc) t = lc -> get(u, v); if (rc) tt = rc -> get(u, v); return (t + tt); } }; node *root; bool check(){ long long mx = root -> val; long long cur = 1; while (cur < mx){ long long t = root -> get(1, cur); if (t < cur) return false; cur = t + 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 -> ud(coins[i], coins[i]); } return check(); } bool is_happy(int event, int coinsCount, long long coins[]){ for (int i = 0; i < coinsCount; i++) root->ud(coins[i], event * coins[i]); return check(); }

Compilation message (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...