# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
917837 | 2024-01-29T01:49:45 Z | vjudge1 | Happiness (Balkan15_HAPPINESS) | C++17 | 1915 ms | 524288 KB |
#include "happiness.h" #include<bits/stdc++.h> using namespace std; #define ll long long #define N T[i] struct node { ll mx, lz; int lc, rc; } T[1<<26]; map<ll, int> mp; int rt, cnt; int nn() { T[++cnt]={0,0,0,0}; return cnt; } void pd(int i) { if(N.lz) { N.mx+=N.lz; if(!N.lc) N.lc=nn(); if(!N.rc) N.rc=nn(); T[N.lc].lz+=N.lz; T[N.rc].lz+=N.lz; } N.lz=0; } void upd(int &i,ll v,ll tl,ll tr=1e12,ll l=1,ll r=1e12) { if(!i) i=nn(); else pd(i); if(tl>r||tr<l) return; if(tl<=l&&r<=tr) { N.lz+=v; pd(i); return; } if(tl<=l+r>>1||N.lc) upd(N.lc,v,tl,tr,l,l+r>>1ll); if(tr>l+r>>1||N.rc) upd(N.rc,v,tl,tr,l+r+2>>1,r); N.mx=max(T[N.lc].mx,T[N.rc].mx); } void add(ll val) { upd(rt,-val,val+1); if(!mp[val]) upd(rt,val,val,val); mp[val]++; } void del(ll val) { upd(rt,val,val+1); mp[val]--; if(!mp[val]) upd(rt,-val,val,val); } bool init(int coinsCount, ll maxCoinSize, ll coins[]) { for(int i=0;i<coinsCount;i++) add(coins[i]); return T[rt].mx<2; } bool is_happy(int event, int coinsCount, ll coins[]) { for(int i=0;i<coinsCount;i++) (event+1?add:del)(coins[i]); return T[rt].mx<2; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 2396 KB | Output is correct |
2 | Correct | 1 ms | 2396 KB | Output is correct |
3 | Correct | 1 ms | 2396 KB | Output is correct |
4 | Correct | 1 ms | 2396 KB | Output is correct |
5 | Correct | 1 ms | 2396 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 2396 KB | Output is correct |
2 | Correct | 1 ms | 2396 KB | Output is correct |
3 | Correct | 1 ms | 2396 KB | Output is correct |
4 | Correct | 1 ms | 2396 KB | Output is correct |
5 | Correct | 1 ms | 2396 KB | Output is correct |
6 | Correct | 4 ms | 6748 KB | Output is correct |
7 | Correct | 5 ms | 6836 KB | Output is correct |
8 | Correct | 47 ms | 30072 KB | Output is correct |
9 | Correct | 51 ms | 29780 KB | Output is correct |
10 | Correct | 38 ms | 29776 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 2396 KB | Output is correct |
2 | Correct | 1 ms | 2396 KB | Output is correct |
3 | Correct | 1 ms | 2396 KB | Output is correct |
4 | Correct | 1 ms | 2396 KB | Output is correct |
5 | Correct | 1 ms | 2396 KB | Output is correct |
6 | Correct | 1041 ms | 65872 KB | Output is correct |
7 | Correct | 1016 ms | 63908 KB | Output is correct |
8 | Correct | 1062 ms | 66244 KB | Output is correct |
9 | Correct | 1774 ms | 81668 KB | Output is correct |
10 | Correct | 1915 ms | 88240 KB | Output is correct |
11 | Correct | 906 ms | 57684 KB | Output is correct |
12 | Correct | 856 ms | 57684 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 2396 KB | Output is correct |
2 | Correct | 1 ms | 2396 KB | Output is correct |
3 | Correct | 1 ms | 2396 KB | Output is correct |
4 | Correct | 1 ms | 2396 KB | Output is correct |
5 | Correct | 1 ms | 2396 KB | Output is correct |
6 | Correct | 4 ms | 6748 KB | Output is correct |
7 | Correct | 5 ms | 6836 KB | Output is correct |
8 | Correct | 47 ms | 30072 KB | Output is correct |
9 | Correct | 51 ms | 29780 KB | Output is correct |
10 | Correct | 38 ms | 29776 KB | Output is correct |
11 | Correct | 1041 ms | 65872 KB | Output is correct |
12 | Correct | 1016 ms | 63908 KB | Output is correct |
13 | Correct | 1062 ms | 66244 KB | Output is correct |
14 | Correct | 1774 ms | 81668 KB | Output is correct |
15 | Correct | 1915 ms | 88240 KB | Output is correct |
16 | Correct | 906 ms | 57684 KB | Output is correct |
17 | Correct | 856 ms | 57684 KB | Output is correct |
18 | Correct | 1625 ms | 435108 KB | Output is correct |
19 | Correct | 1628 ms | 452576 KB | Output is correct |
20 | Runtime error | 1655 ms | 524288 KB | Execution killed with signal 9 |
21 | Halted | 0 ms | 0 KB | - |