답안 #282724

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
282724 2020-08-24T19:36:17 Z dolphingarlic 원숭이와 사과 나무 (IZhO12_apple) C++14
0 / 100
528 ms 262144 KB
#include <bits/stdc++.h>
using namespace std;

struct Node {
    int l, r, val, lazy;
    Node *lc, *rc;

    Node(int L = 1, int R = 1000000000):
        l(L), r(R), val(0), lazy(0), lc(nullptr), rc(nullptr) {}
    
    void push_lazy() {
        if (!lazy) return;
        val = r - l + 1;
        lazy = 0;
        if (l != r) {
            int mid = (l + r) / 2;
            if (!lc) lc = new Node(l, mid);
            if (!rc) rc = new Node(mid + 1, r);
            lc->lazy = rc->lazy = 1;
        }
    }

    void update(int a, int b) {
        push_lazy();
        if (a > r || b < l) return;
        if (a <= l && b >= r) {
            lazy = 1;
            push_lazy();
        } else {
            int mid = (l + r) / 2;
            if (!lc) lc = new Node(l, mid);
            if (!rc) rc = new Node(mid + 1, r);
            lc->update(a, b);
            rc->update(a, b);
            val = lc->val + rc->val;
        }
    }

    int query(int a, int b) {
        push_lazy();
        if (a > r || b < l) return 0;
        if (a <= l && b >= r) return val;
        int mid = (l + r) / 2;
        if (!lc) lc = new Node(l, mid);
        if (!rc) rc = new Node(mid + 1, r);
        return lc->query(a, b) + rc->query(a, b);
    }
};

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    Node *root = new Node();
    int m, c = 0;
    cin >> m;
    while (m--) {
        int d, x, y;
        cin >> d >> x >> y;
        if (d == 1) {
            c = root->query(x + c, y + c);
            cout << c << '\n';
        } else root->update(x + c, y + c);
    }
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 0 ms 384 KB Output is correct
3 Correct 1 ms 384 KB Output is correct
4 Correct 20 ms 8696 KB Output is correct
5 Correct 25 ms 10616 KB Output is correct
6 Correct 26 ms 10240 KB Output is correct
7 Correct 25 ms 10616 KB Output is correct
8 Correct 217 ms 77996 KB Output is correct
9 Correct 435 ms 132732 KB Output is correct
10 Correct 448 ms 148860 KB Output is correct
11 Correct 458 ms 161148 KB Output is correct
12 Correct 463 ms 166904 KB Output is correct
13 Correct 441 ms 207156 KB Output is correct
14 Correct 458 ms 209400 KB Output is correct
15 Runtime error 528 ms 262144 KB Execution killed with signal 9
16 Halted 0 ms 0 KB -