제출 #343956

#제출 시각아이디문제언어결과실행 시간메모리
343956ogibogi2004Happiness (Balkan15_HAPPINESS)C++14
컴파일 에러
0 ms0 KiB
#include "happiness.h" #include<bits/stdc++.h> using namespace std; #define ll long long const ll MAXM=1e7; const ll INF=2e17; const ll MAXN=2e12; struct node { ll val; ll pl,pr; node() { val=0;pl=-1;pr=-1; } }; node tree[MAXM]; ll sz=1; void update(ll idx,ll l,ll r,ll q,ll val) { if(l>q||r<q)return; if(l==r) { tree[idx].val+=val; return; } ll mid=(l+r)/2; if(mid<q) { if(tree[idx].pr==-1) { tree[idx].pr=++sz; } update(tree[idx].pr,mid+1,r,q,val); } else { if(tree[idx].pl==-1) { tree[idx].pl=++sz; } update(tree[idx].pl,l,mid,q,val); } tree[idx].val=0; if(tree[idx].pl!=-1)tree[idx].val+=tree[tree[idx].pl].val; if(tree[idx].pr!=-1)tree[idx].val+=tree[tree[idx].pr].val; } ll query(ll idx,ll l,ll r,ll ql,ll qr) { if(l>qr||r<ql)return 0; if(l>=ql&&r<=qr) { return tree[idx].val; } ll mid=(l+r)/2; ll ret=0; if(tree[idx].pl!=-1) { ret+=query(tree[idx].pl,l,mid,ql,qr); } if(tree[idx].pr!=-1) { ret+=query(tree[idx].pr,mid+1,r,ql,qr); } return ret; } bool check() { ll csum=1; while(csum<tree[1].val) { ll t=query(1,1,MAXN,1,csum); if(t<csum)return 0; csum=t+1; } return 1; } bool init(ll coinsCount, long long maxCoinSize, long long coins[]) { for(ll i=0;i<coinsCount;i++) { update(1,1,MAXN,coins[i],coins[i]); } return check(); } bool is_happy(ll event, ll coinsCount, long long coins[]) { if(event==1) { for(ll i=0;i<coinsCount;i++) { update(1,1,MAXN,coins[i],coins[i]); } } else { for(ll i=0;i<coinsCount;i++) { update(1,1,MAXN,coins[i],-coins[i]); } } 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;
      |            ^~~~~~~~
/tmp/cc8BVxeQ.o: In function `main':
grader.cpp:(.text.startup+0x96): undefined reference to `init(int, long long, long long*)'
grader.cpp:(.text.startup+0x160): undefined reference to `is_happy(int, int, long long*)'
collect2: error: ld returned 1 exit status