Submission #376034

#TimeUsernameProblemLanguageResultExecution timeMemory
376034wind_reaperGame (IOI13_game)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #include "game.h" using namespace std; struct SegmentTree{ struct Node{ int64_t val; Node *lc, *rc; Node() : val(0), lc(0), rc(0) {} }; vector<Node> tree; Node* new_node(){ tree.emplace_back(); return &tree.back(); } Node *root; int L, R; void init(int _L, int _R){ this->L = _L; this->R = _R; root = new_node(); } void update(int idx, int64_t val, Node* &node, int l, int r){ if(r - l == 1){ if(!node) node = new_node(); node->val = val; return; } int mid = (l + r) >> 1; if(idx < mid) update(idx, val, node->lc, l, mid); else update(idx, val, node->rc, mid, r); node->val = __gcd((node->lc ? node->lc->val : 0), (node->rc ? node->rc->val : 0)); } int64_t query(int l, int r, Node* &node, int lx, int rx){ if(r <= lx || l >= rx || !node) return 0; if(l >= lx && r <= rx) return node->val; int mid = (lx + rx) >> 1; return __gcd(query(l, r, node->lc, lx, mid), query(l, r, node->rc, mid, rx)); } void update(int idx, int64_t val){ update(idx, val, root, L, R); } int64_t query(int l, int r){ return query(l, r, root, L, R); } }; vector<SegmentTree> T; void update(int P, int Q, int64_t K){ T[P].update(Q, K); } long long calculate(int P, int Q, int U, int V){ int64_t res = 0; for(int i = P; i < U; i++){ res = __gcd(res, T[i].query(Q, V+1)); } return res; } void init(int R, int C){ T.resize(R); for(int i = 0; i < R; i++){ T[i].init(0, C); } }

Compilation message (stderr)

/tmp/ccUZAWcW.o: In function `main':
grader.c:(.text.startup+0x156): undefined reference to `update'
collect2: error: ld returned 1 exit status