Submission #853220

# Submission time Handle Problem Language Result Execution time Memory
853220 2023-09-23T16:29:16 Z serifefedartar Monkey and Apple-trees (IZhO12_apple) C++17
0 / 100
367 ms 215948 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 {
	ll l, r, sum, lazy;
	Node *ptrL, *ptrR;

	Node(int a, int b) : l(a), r(b), ptrL(NULL), ptrR(NULL), sum(0), lazy(0) { };
	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; 
	}

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

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

	Node *root = new Node(1, 1e8);
	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);
	}
}

Compilation message

apple.cpp: In constructor 'Node::Node(int, int)':
apple.cpp:14:15: warning: 'Node::ptrR' will be initialized after [-Wreorder]
   14 |  Node *ptrL, *ptrR;
      |               ^~~~
apple.cpp:13:11: warning:   'll Node::sum' [-Wreorder]
   13 |  ll l, r, sum, lazy;
      |           ^~~
apple.cpp:16:2: warning:   when initialized here [-Wreorder]
   16 |  Node(int a, int b) : l(a), r(b), ptrL(NULL), ptrR(NULL), sum(0), lazy(0) { };
      |  ^~~~
# 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 14 ms 11128 KB Output is correct
5 Correct 17 ms 13660 KB Output is correct
6 Correct 17 ms 12952 KB Output is correct
7 Correct 17 ms 13464 KB Output is correct
8 Correct 158 ms 100696 KB Output is correct
9 Correct 314 ms 171088 KB Output is correct
10 Correct 340 ms 192108 KB Output is correct
11 Correct 345 ms 208760 KB Output is correct
12 Correct 367 ms 215948 KB Output is correct
13 Incorrect 59 ms 38688 KB Output isn't correct
14 Halted 0 ms 0 KB -