# | 제출 시각UTC-0 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
484716 | WeissBlume | 벽 (IOI14_wall) | C++17 | 817 ms | 92128 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include"wall.h"
#include<cstdio>
#include<queue>
#include<memory>
#include<algorithm>
#define x first
#define y second
using namespace std;
using ii = pair<int, int>;
int read(int x = 0) { return scanf("%d", &x), x; }
template<class node_t>
struct LazySegmentTree {
using T = typename node_t::val_t;
using U = typename node_t::upd_t;
unique_ptr<node_t[]> nodes;
int size, height;
LazySegmentTree(int n): size(1), height(0) {
while (size < n || size < 8) size <<= 1, ++height;
nodes = unique_ptr<node_t[]>(new node_t[size<<1]);
for (int i = size - 1; i > 0; i--)
nodes[i].combine(nodes[i<<1], nodes[i<<1|1]);
}
void update(int _l, int _r, const U& v) {
push(_l); push(_r+1);
for (int l = _l + size, r = _r + size + 1; l < r; l >>= 1, r >>= 1) {
if (l & 1) nodes[l++].update(v);
if (r & 1) nodes[--r].update(v);
컴파일 시 표준 에러 (stderr) 메시지
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |