Submission #853216

# Submission time Handle Problem Language Result Execution time Memory
853216 2023-09-23T16:22:33 Z serifefedartar Monkey and Apple-trees (IZhO12_apple) C++17
0 / 100
327 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;
	int sum = 0, lazy = 0;
	Node *ptrL, *ptrR;

	Node(int a, int b) : l(a), r(b), 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) {
		push();
		if (l > b || a > r)
			return 0;
		if (a <= l && r <= b)
			return sum;
		add();
		return ptrL->query(a, b) + ptrR->query(a, b);
	}
};

int main() {
	fast
	int M;
	cin >> M;

	Node *root = new Node(1, 1e12);
	int C = 0;
	while (M--) {
		int D, X, Y;
		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 function 'int main()':
apple.cpp:69:27: warning: overflow in conversion from 'double' to 'int' changes value from '1.0e+12' to '2147483647' [-Woverflow]
   69 |  Node *root = new Node(1, 1e12);
      |                           ^~~~
# 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 15 ms 8280 KB Output is correct
5 Correct 16 ms 10076 KB Output is correct
6 Correct 15 ms 9564 KB Output is correct
7 Correct 19 ms 10076 KB Output is correct
8 Correct 142 ms 76372 KB Output is correct
9 Correct 297 ms 129256 KB Output is correct
10 Correct 299 ms 145236 KB Output is correct
11 Correct 327 ms 155480 KB Output is correct
12 Correct 318 ms 162120 KB Output is correct
13 Runtime error 206 ms 262144 KB Execution killed with signal 9
14 Halted 0 ms 0 KB -