제출 #1043421

#제출 시각아이디문제언어결과실행 시간메모리
1043421deera철로 (IOI14_rail)C++14
컴파일 에러
0 ms0 KiB
// ioi 2014 // Day 2: Wall #include <bits/stdc++.h> using namespace std; // {low, high} vector<vector<int>> tree; struct Op { int t, v; }; void laze(int x, Op op) { if (op.t == 1) { tree[x][0] = max(tree[x][0], op.v); tree[x][1] = max(tree[x][0], tree[x][1]); } else { tree[x][0] = min(tree[x][0], tree[x][1]); tree[x][1] = min(tree[x][1], op.v); } } void push(int x, int l, int r) { if (l == r) return; l = x * 2; r = l + 1; laze(l, {1, tree[x][0]}); laze(l, {2, tree[x][1]}); laze(r, {1, tree[x][0]}); laze(r, {2, tree[x][1]}); tree[x] = {0, INT_MAX}; } void output(int x, int l, int r, int results[]) { if (l == r) { results[l] = tree[x][0]; return; } push(x, l, r); int m = (l + r) / 2; output(x * 2, l, m, results); output(x * 2 + 1, m + 1, r, results); } void update(int x, int l, int r, int a, int b, Op op) { if (r < a || b < l) return; if (a <= l && r <= b) { laze(x, op); } else { push(x, l, r); int m = (l + r) / 2; update(x * 2, l, m, a, b, op); update(x * 2 + 1, m + 1, r, a, b, op); } } void buildWall(int n, int k, int op[], int left[], int right[], int height[], int finalHeight[]){ // // subtask 1 // if (n <= 10000 && k <= 5000) { // for (int i = 0; i < k; i++) { // if (op[i] == 1) { // for (int j = left[i]; j <= right[i]; j++) // finalHeight[j] = max(finalHeight[j], height[i]); // } else { // for (int j = left[i]; j <= right[i]; j++) // finalHeight[j] = min(finalHeight[j], height[i]); // } // } // return; // } tree.resize(4 * n, {0, INT_MAX}); for(int i = 0; i < k; i++) { update(1, 0, n - 1, left[i], right[i], {op[i], height[i]}); } output(1, 0, n - 1, finalHeight); }

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

/usr/bin/ld: /tmp/ccyT4IQi.o: in function `main':
grader.cpp:(.text.startup+0x2d9): undefined reference to `findLocation'
collect2: error: ld returned 1 exit status