Submission #890259

# Submission time Handle Problem Language Result Execution time Memory
890259 2023-12-20T21:04:01 Z Justin1 Monkey and Apple-trees (IZhO12_apple) C++17
0 / 100
366 ms 262144 KB
#include <bits/stdc++.h>
#define f first
#define s second
#define int long long
using namespace std;

class dynamicSeg { //range max query, range set update
	int lzy, val;
	int l, r;
	dynamicSeg *L = NULL, *R = NULL;
	void extend(dynamicSeg *&node, int l, int r) {
		if (node == NULL) node = new dynamicSeg(l, r);
	}
	void push() {
		int mid = (l + r) / 2;
		extend(L, l, mid), extend(R, mid + 1, r);
		if (!lzy) return;
		L-> val = L->r - L->l + 1;
		R-> val = R->r - R->l + 1;
		L-> lzy = R->lzy = !(lzy = 0);
	}
public:
	dynamicSeg (int sz) : l(1), r(sz) {}
	dynamicSeg (int l, int r) : l(l), r(r) {}
	void upd(int l, int r) {
		push();
		if (this->r < l || r < this->l) return;
		if (l <= this->l && this->r <= r) {
			val = this->r - this->l + 1;
			lzy = 1;
			return;
		}
		L->upd(l, r), R->upd(l, r);
		val = L->val + R->val;
	}
	int qry(int l, int r) {
		push();
		if (this->r < l || r < this->l) return 0;
		if (l <= this->l && this->r <= r) return val;
		return L->qry(l, r) + R->qry(l, r);
	}
};

int n, m, k, x, y, z;
dynamicSeg seg(10'000'000'000);

void solve() {
	int C = 0;
	cin >> n;
	for (int i = 1; i <= n; i++) {
		cin >> x >> y >> z;
		if (x == 1) cout << (C = seg.qry(y + C, z + C)) << "\n"; 
		else seg.upd(y + C, z + C);
	}
}

signed main() {
    cin.tie(0), cout.tie(0) -> sync_with_stdio(0);
    cout << fixed << setprecision(10);
    int T = 1;
    // cin >> T;
    while (T--) {
        solve();
    }
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 18 ms 12568 KB Output is correct
5 Correct 19 ms 15196 KB Output is correct
6 Correct 19 ms 14620 KB Output is correct
7 Correct 19 ms 15196 KB Output is correct
8 Correct 158 ms 116568 KB Output is correct
9 Correct 316 ms 202320 KB Output is correct
10 Correct 351 ms 223664 KB Output is correct
11 Correct 366 ms 240512 KB Output is correct
12 Correct 357 ms 247632 KB Output is correct
13 Runtime error 319 ms 262144 KB Execution killed with signal 9
14 Halted 0 ms 0 KB -