Submission #62627

#TimeUsernameProblemLanguageResultExecution timeMemory
62627nvmdavaWall (IOI14_wall)C++17
Compilation error
0 ms0 KiB
#include "wall.h" #include <bits/stdc++.h> #define SIZE 2097155 int maxTree[4 * SIZE], minTree[4 * SIZE], maxLazy[4 * SIZE], minLazy[4 * SIZE]; void down(int id){ if(maxLazy[id] == 0){ if(minLazy[id] == 0){ return; } maxTree[id] = min(minLazy[id], maxTree[id]); minTree[id] = min(minTree[id], maxTree[id]); minLazy[id << 1] = minLazy[id]; minLazy[id << 1 | 1] = minLazy[id]; minLazy[id] = 0; } else { minTree[id] = max(maxLazy[id], minTree[id]); maxTree[id] = max(minTree[id], maxTree[id]); maxLazy[id << 1] = maxLazy[id]; maxLazy[id << 1 | 1] = maxLazy[id]; maxLazy[id] = 0; } } void maximum(int id, int l, int r, int L, int R, int val){ down(id); if(l == L && r == R){ maxLazy[id] = val; return; } int m = (l + r) >> 1; if(m >= R){ maximum(id << 1, l, m, L, R, val); } else if( m < L){ maximum(id << 1 | 1, m + 1, r, L, R ,val); } else { maximum(id << 1, l, m, L, m, val); maximum(id << 1 | 1, m + 1, r, m + 1, R ,val); } } void minimum(int id, int l, int r, int L, int R, int val){ down(id); if(l == L && r == R){ minLazy[id] = val; return; } int m = (l + r) >> 1; if(m >= R){ maximum(id << 1, l, m, L, R, val); } else if( m < L){ maximum(id << 1 | 1, m + 1, r, L, R ,val); } else { maximum(id << 1, l, m, L, m, val); maximum(id << 1 | 1, m + 1, r, m + 1, R ,val); } } void buildWall(int n, int k, int op[], int left[], int right[], int height[], int finalHeight[]){ int i; for(i = 0; i < k; i++){ if(op[i] == 1) maximum(1, 1, n, left[i], right[i], height[i]); else minimum(1, 1, n, left[i], right[i], height[i]); } for(i = 1; i < 4194304; i++){ down(i); } n += 2097152; for(i = 2097152 ; i < n; i++){ finalHeight[i] = maxTree[i - 2097151]; } return; }

Compilation message (stderr)

wall.cpp: In function 'void down(int)':
wall.cpp:14:17: error: 'min' was not declared in this scope
   maxTree[id] = min(minLazy[id], maxTree[id]);
                 ^~~
wall.cpp:14:17: note: suggested alternative:
In file included from /usr/include/c++/7/algorithm:62:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:65,
                 from wall.cpp:2:
/usr/include/c++/7/bits/stl_algo.h:3456:5: note:   'std::min'
     min(initializer_list<_Tp> __l, _Compare __comp)
     ^~~
wall.cpp:22:17: error: 'max' was not declared in this scope
   minTree[id] = max(maxLazy[id], minTree[id]);
                 ^~~
wall.cpp:22:17: note: suggested alternative:
In file included from /usr/include/c++/7/algorithm:62:0,
                 from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:65,
                 from wall.cpp:2:
/usr/include/c++/7/bits/stl_algo.h:3468:5: note:   'std::max'
     max(initializer_list<_Tp> __l, _Compare __comp)
     ^~~