답안 #853249

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
853249 2023-09-23T18:25:02 Z serifefedartar 원숭이와 사과 나무 (IZhO12_apple) C++17
0 / 100
335 ms 262144 KB
#include <bits/stdc++.h>
using namespace std;
 
#define fast ios::sync_with_stdio(0);cin.tie(0);
#define s second
#define f first
typedef long long ll;
const ll MOD = 1e9 + 7;
const ll LOGN = 20;
const ll MAXN = 2e5 + 5;

struct Node {
	int l, r, sum, lazy;
	Node *ptrL, *ptrR;

	Node(int a, int b) : l(a), r(b), sum(0), lazy(0), ptrL(NULL), ptrR(NULL) { };
	void add() {
		if (ptrL == NULL && l != r) {
			int mid = (l + r) / 2;
			ptrL = new Node(l, mid);
			ptrR = new Node(mid+1, r);
		}
	}

	void push() {
		if (lazy) {
			sum = r - l + 1;
			if (l != r) {
				add();
				ptrL->lazy = 1;
				ptrR->lazy = 1;
			}
			lazy = 0;
		}
	}

	void update(int a, int b) {
		push();
		if (a <= l && r <= b) {
			lazy = 1;
			push();
			return ;
		}
		if (l > b || a > r)
			return ;
		add();
		ptrL->update(a, b);
		ptrR->update(a, b);
		sum = ptrL->sum + ptrR->sum; 
	}

	int query(int a, int b) {
		push();
		if (a <= l && r <= b)
			return sum;
		if (l > b || a > r)
			return 0;
		return (ptrL ? ptrL->query(a, b) : 0) + (ptrR ? ptrR->query(a, b) : 0);
	}
};

int main() {
	fast
	int M, D, X, Y;
	cin >> M;

	Node *root = new Node(1, 1e9);
	int C = 0;
	while (M--) {
		cin >> D >> X >> Y;
		X += C, Y += C;
		if (D == 1) {
			C = root->query(X, Y);
			cout << C << "\n";
		} else
			root->update(X, Y);
	}
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 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 13 ms 8540 KB Output is correct
5 Correct 17 ms 10392 KB Output is correct
6 Correct 16 ms 10076 KB Output is correct
7 Correct 16 ms 10480 KB Output is correct
8 Correct 133 ms 77004 KB Output is correct
9 Correct 289 ms 131020 KB Output is correct
10 Correct 297 ms 146848 KB Output is correct
11 Correct 306 ms 159568 KB Output is correct
12 Correct 319 ms 164980 KB Output is correct
13 Correct 279 ms 205012 KB Output is correct
14 Correct 303 ms 209288 KB Output is correct
15 Runtime error 335 ms 262144 KB Execution killed with signal 9
16 Halted 0 ms 0 KB -