제출 #1254499

#제출 시각아이디문제언어결과실행 시간메모리
1254499yeongminbHappiness (Balkan15_HAPPINESS)C++20
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h> #define f first #define s second #define fastio cin.tie(0)->ios::sync_with_stdio(0); using namespace std; typedef long long ll; typedef pair<ll,ll> pll; const ll INF = 1e18; struct Node{ ll num = 0, lazy = 0; Node *left = nullptr, *right = nullptr; }; struct SegmentTree{ public: ll n; Node *root = new Node; SegmentTree(ll N){n = N;}; void update(ll l, ll r, ll val){ update(root, 0, n-1, l, r, val); } ll query(ll l, ll r){ return query(root, 0, n-1, l, r); } private: void propagate(Node *cur, ll st, ll en){ if(cur->left == nullptr) cur->left = new Node; if(cur->right == nullptr) cur->right = new Node; ll mid = (st + en)/2; if(cur->lazy){ cur->left->lazy += cur->lazy; cur->right->lazy += cur->lazy; cur->left->num += (cur->lazy); cur->right->num += (cur->lazy); } } void update(Node *cur, ll st, ll en, ll l, ll r, ll val){ if(l > en || r < st) return; if(l <= st && en <= r){ cur->lazy += val; cur->num += val; return; } propagate(cur, st, en); ll mid = (st + en)/2; update(cur->left, st, mid, l, r, val); update(cur->right, mid+1, en, l, r, val); cur->num = max((cur->left->num), (cur->right->num)); } ll query(Node *cur, ll st, ll en, ll l, ll r){ if(l > en || r < st) return 0; if(l <= st && en <= r) return cur->num; propagate(cur, st, en); ll mid = (st + en)/2; return max(query(cur->left, st, mid, l, r), query(cur->right, mid+1, en, l, r)); } }; int main(){ fastio; ll N,M; cin >> N >> M; vector<ll> v(N), freq(M + 10, 0); for(auto &x : v) cin >> x; SegmentTree seg(M + 10); for(auto x : v){ seg.update(x+1, M+5, -x); if(freq[x] == 0) seg.update(x,x,x); freq[x] ++; } if(seg.query(0, M+5) > 1) cout << "0\n"; else cout << "1\n"; ll Q; cin >> Q; while(Q--){ ll i,K; cin >> i >> K; if(i == -1){ while(K--){ ll x; cin >> x; freq[x] --; seg.update(x+1, M+5, x); if(freq[x] == 0) seg.update(x,x,-x); } } else { while(K--){ ll x; cin >> x; if(freq[x] == 0) seg.update(x,x,x); freq[x] ++; seg.update(x+1, M+5, -x); } } if(seg.query(0, M+5) > 1) cout << "0\n"; else cout << "1\n"; } }

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

/usr/bin/ld: /tmp/ccwAHbKb.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccJee7Eb.o:happiness.cpp:(.text.startup+0x0): first defined here
/usr/bin/ld: /tmp/ccwAHbKb.o: in function `main':
grader.cpp:(.text.startup+0x9a): undefined reference to `init(int, long long, long long*)'
/usr/bin/ld: grader.cpp:(.text.startup+0x15b): undefined reference to `is_happy(int, int, long long*)'
collect2: error: ld returned 1 exit status