답안 #853245

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
853245 2023-09-23T18:19:12 Z serifefedartar 원숭이와 사과 나무 (IZhO12_apple) C++14
0 / 100
288 ms 148516 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 (l > b || a > r)
			return ;
		if (a <= l && r <= b) {
			lazy = 1;
			push();
			return ;
		}
		add();
		ptrL->update(a, b);
		ptrR->update(a, b);
		sum = ptrL->sum + ptrR->sum; 
	}

	int query(int a, int b) {
		if (l > b || a > r)
			return 0;
		push();
		if (a <= l && r <= b)
			return sum;
		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, 1e7);
	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 344 KB Output is correct
2 Correct 0 ms 344 KB Output is correct
3 Correct 0 ms 344 KB Output is correct
4 Correct 12 ms 7812 KB Output is correct
5 Correct 14 ms 9408 KB Output is correct
6 Correct 14 ms 9048 KB Output is correct
7 Correct 14 ms 9428 KB Output is correct
8 Correct 126 ms 69384 KB Output is correct
9 Correct 254 ms 118560 KB Output is correct
10 Correct 260 ms 132688 KB Output is correct
11 Correct 273 ms 143628 KB Output is correct
12 Correct 288 ms 148516 KB Output is correct
13 Incorrect 27 ms 3152 KB Output isn't correct
14 Halted 0 ms 0 KB -