Submission #890258

# Submission time Handle Problem Language Result Execution time Memory
890258 2023-12-20T21:03:23 Z Justin1 Monkey and Apple-trees (IZhO12_apple) C++17
0 / 100
404 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(1'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 456 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 460 KB Output is correct
4 Correct 16 ms 12636 KB Output is correct
5 Correct 19 ms 15196 KB Output is correct
6 Correct 19 ms 14736 KB Output is correct
7 Correct 20 ms 15188 KB Output is correct
8 Correct 168 ms 116628 KB Output is correct
9 Correct 352 ms 202244 KB Output is correct
10 Correct 404 ms 223612 KB Output is correct
11 Correct 355 ms 240324 KB Output is correct
12 Correct 389 ms 248036 KB Output is correct
13 Runtime error 302 ms 262144 KB Execution killed with signal 9
14 Halted 0 ms 0 KB -