Submission #931852

#TimeUsernameProblemLanguageResultExecution timeMemory
931852dead0neHappiness (Balkan15_HAPPINESS)C++17
0 / 100
1 ms344 KiB
#pragma GCC optimize("unroll-loops,Ofast,O3") #include <bits/stdc++.h> #include "happiness.h" #define pb push_back #define mp make_pair #define spc << " " << #define endl "\n" #define all(x) x.begin(), x.end() #define ll long long #define ii pair<int,int> #define vi vector<int> #define vii vector<ii> #define st first #define nd second #define inf 1000000009 #define MOD 1000000007 #define MX 300005 using namespace std; struct Node{ ll sum=0, l, r; Node *lc = nullptr, *rc = nullptr; Node(ll l, ll r) : l(l), r(r) {} void add(ll tar, ll val){ sum += val; if(l<r){ if(tar <= lc->r){ if(!lc) lc = new Node(l, (l+r)>>1); lc->add(tar, val); } else{ if(!rc) rc = new Node((l+r)/2 +1, r); rc->add(tar,val); } } } ll query(ll ql, ll qr){ if(ql<=l && r<=qr){ return sum; } if(l>qr || r<ql){ return 0; } ll res = 0; if(lc) res += lc->query(ql, qr); if(rc) res += rc->query(ql, qr); return res; } }; Node *root; bool is_happy(int event, int coinsCount, long long coins[]){ for(int i=0; i<coinsCount; i++){ root->add(coins[i], coins[i] * event); } ll x = 1; while(x <= root->sum){ ll res = root->query(1, x); if(res < x) return false; x = res+1; } return true; } bool init(int coinsCount, long long maxCoinSize, long long coins[]){ root = new Node(1, maxCoinSize); return is_happy(1, coinsCount, coins); }

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...