답안 #853242

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
853242 2023-09-23T18:15:19 Z serifefedartar 원숭이와 사과 나무 (IZhO12_apple) C++17
0 / 100
299 ms 148288 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 0 ms 348 KB Output is correct
2 Correct 1 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 12 ms 7772 KB Output is correct
5 Correct 14 ms 9308 KB Output is correct
6 Correct 15 ms 9032 KB Output is correct
7 Correct 15 ms 9304 KB Output is correct
8 Correct 124 ms 69452 KB Output is correct
9 Correct 264 ms 118776 KB Output is correct
10 Correct 288 ms 132700 KB Output is correct
11 Correct 293 ms 143692 KB Output is correct
12 Correct 299 ms 148288 KB Output is correct
13 Incorrect 31 ms 3220 KB Output isn't correct
14 Halted 0 ms 0 KB -