Submission #282985

# Submission time Handle Problem Language Result Execution time Memory
282985 2020-08-25T08:10:58 Z dolphingarlic Monkey and Apple-trees (IZhO12_apple) C++14
0 / 100
515 ms 262148 KB
#include <bits/stdc++.h>
using namespace std;
 
struct Node {
    int l, r, val;
    bool lazy;
    Node *lc, *rc;
 
    Node(int L = 1, int R = 1e9):
        l(L), r(R), val(0), lazy(false), 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 ret = 0;
        if (lc) ret += lc->query(a, b);
        if (rc) ret += rc->query(a, b);
        return ret;
    }
};
 
Node *root = new Node();
 
int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    int m, c = 0, d, x, y;
    cin >> m;
    while (m--) {
        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;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 384 KB Output is correct
2 Correct 1 ms 384 KB Output is correct
3 Correct 1 ms 384 KB Output is correct
4 Correct 21 ms 8696 KB Output is correct
5 Correct 26 ms 10616 KB Output is correct
6 Correct 25 ms 10232 KB Output is correct
7 Correct 26 ms 10616 KB Output is correct
8 Correct 218 ms 77944 KB Output is correct
9 Correct 425 ms 132732 KB Output is correct
10 Correct 450 ms 148680 KB Output is correct
11 Correct 468 ms 161284 KB Output is correct
12 Correct 479 ms 166776 KB Output is correct
13 Correct 448 ms 207224 KB Output is correct
14 Correct 445 ms 209144 KB Output is correct
15 Runtime error 515 ms 262148 KB Execution killed with signal 9
16 Halted 0 ms 0 KB -