Submission #758661

# Submission time Handle Problem Language Result Execution time Memory
758661 2023-06-15T05:26:30 Z scanhex Segments (IZhO18_segments) C++17
75 / 100
3576 ms 42176 KB
#include <bits/stdc++.h>

using namespace std;
using nagai = long long;

struct dss {
	vector<pair<int,int>> segs;
	void insert(int l, int r) {
		segs.push_back({l, r});
	}
	int get(int l, int r, int k) {
		if (k == 0) return segs.size();
		int res = 0;
		for (auto& x : segs) {
			int ll = max(x.first, l), rr = min(x.second, r); 
			if (rr - ll + 1 >= k)
				++res;
		}
		return res;
	}
};

const int oo = 0x3f3f3f3f;
 
struct static1d {
	int* coords = nullptr;
	int cnt = 0;
	void clear() {
		if (coords)
			delete[] coords;
		cnt = 0;
	}

	void preadd(int c) {
		++cnt;
	}

	void preaddfinish() {
		coords = new int[cnt];
		cnt = 0;
	}

	void add(int c) {
		coords[cnt++] = c;
	}

	void finalize() {
	}

	int get(int l, int r) {
		if (l > r) return 0;
		auto itr = upper_bound(coords, coords + cnt, r);
		auto itl = lower_bound(coords, coords + cnt, l);
		//cerr << "coords\n";
		//for(auto& x : coords) 
			//cerr << x << ' ';
		//cerr << '\n';
		//cerr << l << ' ' << r << ' ' << itr - itl << '\n';
		return itr - itl;
	}
};

bool ycmp(pair<int, int> a, pair<int, int> b) {
	if (a.second != b.second)
		return a.second < b.second;
	return a.first < b.first;
}

const int N=200200;

struct static2d {
	static1d v[N];
	//static1d all;
	vector<int> xs;

	void preadd(int x, int y) {
		for (++x; x <= xs.size(); x = (x | x - 1) + 1)
			v[x].preadd(y);
	}

	void add(int x, int y) {
		for (++x; x <= xs.size(); x = (x | x - 1) + 1)
			v[x].add(y);
	}

	void build(pair<int,int>* pts, int sz) {
		xs.clear();
		xs.reserve(sz);
		for (int i = 0; i < sz; ++i) 
			xs.push_back(pts[i].first);
		sort(xs.begin(), xs.end());
		xs.erase(unique(xs.begin(), xs.end()), xs.end());
		for (int i = 0; i < xs.size() + 1; ++i) 
			v[i].clear();
		for (int i = 0; i < sz; ++i) 
			preadd(lower_bound(xs.begin(), xs.end(), pts[i].first) - xs.begin(), pts[i].second);
		for (int i = 0; i <= xs.size(); ++i) 
			v[i].preaddfinish();
		for (int i = 0; i < sz; ++i)
			add(lower_bound(xs.begin(), xs.end(), pts[i].first) - xs.begin(), pts[i].second);
			//all.add(p.second);
		for (int i = 0; i <= xs.size(); ++i) 
			v[i].finalize();
		//all.finalize();
	}

	int get(int xr, int y1, int y2) {
		//if (xr == oo) 
			//return all.get(y1, y2);
		if (xr < 0) return 0;
		++xr;
		int xrr = xr;
		xr = lower_bound(xs.begin(), xs.end(), xr) - xs.begin();
		int res = 0;
		for (; xr; xr &= xr - 1) 
			res += v[xr].get(y1, y2);
		//cerr << xrr << ' ' << y1 << ' ' << y2 << ' ' << res << '\n';
		return res;
	}

	// all inclusive
	int get(int x1, int x2, int y1, int y2) {
		if (x1 > x2) return 0;
		return get(x2, y1, y2) - get(x1 - 1, y1, y2);
	}
};

const int BL = 4000;

struct rofl2d {
	pair<int,int>* all;
	vector<pair<int,int>> block;
	vector<pair<int,int>> erblock;
	pair<int, int>* newall;
	int call = 0, cnewall = 0;
	static2d st;

	rofl2d() {
		all = new pair<int, int>[N];
		newall = new pair<int, int>[N];
	}

	void check_rebuild() {
		if (block.size() + erblock.size() >= BL) {
			sort(block.begin(), block.end(), ycmp);
			merge(all, all + call, block.begin(), block.end(), newall, ycmp);
			cnewall = call + block.size();
			sort(erblock.begin(), erblock.end(), ycmp);
			int ptr = 0; 
			call = 0;
			for (auto x : erblock) {
				 while (ptr < cnewall && ycmp(newall[ptr], x))
					 all[call++] = newall[ptr++];
				 // always true? 
				 ++ptr;
			}
			while (ptr < cnewall)
				all[call++] = newall[ptr++];
			block.clear();
			erblock.clear();
			st.build(all, call);
		}
	}
	
	void insert(int x, int y) {
		block.push_back({x, y});
		check_rebuild();
	}

	void erase(int x, int y) {
		erblock.push_back({x, y});
		check_rebuild();
	}

	int get(int x1, int x2, int y1, int y2) {
		int res = st.get(x1, x2, y1, y2);
		/*
		for (auto p : block) 
			if (x1 <= p.first && p.first <= x2 && y1 <= p.second && p.second <= y2) 
				++res;
		for (auto p : erblock) 
			if (x1 <= p.first && p.first <= x2 && y1 <= p.second && p.second <= y2) 
				--res;
				*/
		return res;
	}
};


struct ds {
	int tot = 0;
	rofl2d rofl_l, rofl_r;
	void insert(int l, int r) {
		++tot;
		rofl_l.insert(l, r - l);
		rofl_r.insert(r, r - l);
		//rofl_len.insert(0, r - l);
	}
	void erase(int l, int r) {
		--tot;
		rofl_l.erase(l, r - l);
		rofl_r.erase(r, r - l);
		//rofl_len.erase(0, r - l);
	}
	int get(int l, int r, int k) {
		if (r - l + 1 < k) return 0;
		if (k == 0) return tot;
		int res = tot - rofl_l.block.size() + rofl_l.erblock.size();
		for (auto p : rofl_l.block) {
			int ll = max(p.first, l); 
			int rr = min(p.first + p.second, r);
			if (rr - ll + 1 >= k) 
				++res;
		}
		for (auto p : rofl_l.erblock) {
			int ll = max(p.first, l); 
			int rr = min(p.first + p.second, r);
			if (rr - ll + 1 >= k) 
				--res;
		}
		//cerr << "rofl_l" << '\n';
		res -= rofl_l.get(r - k + 2, oo, k - 1, oo);
		//cerr << "rofl_r" << '\n';
		res -= rofl_r.get(0, l + k - 2, k - 1, oo);
		//cerr << "rofl_len" << '\n';
		res -= rofl_l.get(0, oo, 0, k - 2);
		return res;
	}
} add;

void stress() {
	int C = 5;
	for (int i = 0; i < 10000; ++i) {
		ds smart;
		dss stupid;
		stringstream ss;
		for (int i = 0; i < 10; ++i) {
			int x = rand() % C, y = rand() % C;
			if (x > y) swap(x, y);
			ss << "1 " << x << ' ' << y << '\n';
			smart.insert(x, y);
			stupid.insert(x, y);

			int a = rand() % C, b = rand() % C, k = rand() % C;
			if (a > b) swap(a, b);
			if (smart.get(a, b, k) != stupid.get(a, b, k)) {
				ss << smart.get(a, b, k) << ' ' << stupid.get(a, b, k) << '\n';
				ss << "3 " << a << ' ' << b << ' ' << k << '\n';
				cerr << ss.str();
				exit(1);
			}
		}
	}
	exit(0);
}


int main() {
	//stress();
	ios::sync_with_stdio(false);
	cin.tie(0);
	int n, t; 
	cin >> n >> t; 
	int lastans = 0;
	vector<pair<int, int>> segs;
	while (n--) {
		int tt;
		cin >> tt; 
		if (tt == 1) {
			int a, b;
			cin >> a >> b; 
			a ^= t * lastans;
			b ^= t * lastans;
			if (a > b) swap(a, b);
			segs.push_back({a, b});
			add.insert(a, b);
		}
		else if (tt == 2) {
			int id; 
			cin >> id; 
			--id;
			add.erase(segs[id].first, segs[id].second);
		}
		else {
			int a, b, k;
			cin >> a >> b >> k;
			a ^= t * lastans;
			b ^= t * lastans;
			if (a > b) swap(a, b);
			lastans = add.get(a, b, k);
			cout << lastans << '\n';
		}
	}
}

Compilation message

segments.cpp: In member function 'void static2d::preadd(int, int)':
segments.cpp:77:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   77 |   for (++x; x <= xs.size(); x = (x | x - 1) + 1)
      |             ~~^~~~~~~~~~~~
segments.cpp:77:40: warning: suggest parentheses around arithmetic in operand of '|' [-Wparentheses]
   77 |   for (++x; x <= xs.size(); x = (x | x - 1) + 1)
      |                                      ~~^~~
segments.cpp: In member function 'void static2d::add(int, int)':
segments.cpp:82:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   82 |   for (++x; x <= xs.size(); x = (x | x - 1) + 1)
      |             ~~^~~~~~~~~~~~
segments.cpp:82:40: warning: suggest parentheses around arithmetic in operand of '|' [-Wparentheses]
   82 |   for (++x; x <= xs.size(); x = (x | x - 1) + 1)
      |                                      ~~^~~
segments.cpp: In member function 'void static2d::build(std::pair<int, int>*, int)':
segments.cpp:93:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   93 |   for (int i = 0; i < xs.size() + 1; ++i)
      |                   ~~^~~~~~~~~~~~~~~
segments.cpp:97:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   97 |   for (int i = 0; i <= xs.size(); ++i)
      |                   ~~^~~~~~~~~~~~
segments.cpp:102:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
  102 |   for (int i = 0; i <= xs.size(); ++i)
      |                   ~~^~~~~~~~~~~~
segments.cpp: In member function 'int static2d::get(int, int, int)':
segments.cpp:112:7: warning: unused variable 'xrr' [-Wunused-variable]
  112 |   int xrr = xr;
      |       ^~~
# Verdict Execution time Memory Grader output
1 Correct 6 ms 12888 KB Output is correct
2 Correct 7 ms 12884 KB Output is correct
3 Correct 12 ms 13096 KB Output is correct
4 Correct 11 ms 13012 KB Output is correct
5 Correct 11 ms 13540 KB Output is correct
6 Correct 14 ms 13028 KB Output is correct
7 Correct 15 ms 13140 KB Output is correct
8 Correct 12 ms 13404 KB Output is correct
9 Correct 15 ms 13280 KB Output is correct
10 Correct 10 ms 13524 KB Output is correct
11 Correct 16 ms 13104 KB Output is correct
12 Correct 16 ms 13144 KB Output is correct
13 Correct 10 ms 13540 KB Output is correct
14 Correct 12 ms 13280 KB Output is correct
15 Correct 15 ms 13168 KB Output is correct
16 Correct 11 ms 13012 KB Output is correct
17 Correct 12 ms 13132 KB Output is correct
18 Correct 10 ms 13428 KB Output is correct
19 Correct 11 ms 13140 KB Output is correct
20 Correct 11 ms 13124 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 483 ms 20068 KB Output is correct
2 Correct 520 ms 19908 KB Output is correct
3 Correct 490 ms 19908 KB Output is correct
4 Correct 548 ms 20364 KB Output is correct
5 Correct 785 ms 26032 KB Output is correct
6 Correct 824 ms 26352 KB Output is correct
7 Correct 488 ms 20036 KB Output is correct
8 Correct 481 ms 19948 KB Output is correct
9 Correct 497 ms 20172 KB Output is correct
10 Correct 648 ms 15988 KB Output is correct
11 Correct 587 ms 17152 KB Output is correct
12 Correct 577 ms 22876 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 149 ms 14252 KB Output is correct
2 Correct 134 ms 14300 KB Output is correct
3 Correct 139 ms 14276 KB Output is correct
4 Correct 141 ms 14228 KB Output is correct
5 Correct 619 ms 22836 KB Output is correct
6 Correct 404 ms 21480 KB Output is correct
7 Correct 528 ms 22112 KB Output is correct
8 Correct 764 ms 25964 KB Output is correct
9 Correct 820 ms 25712 KB Output is correct
10 Correct 721 ms 22312 KB Output is correct
11 Correct 176 ms 14664 KB Output is correct
12 Correct 682 ms 22616 KB Output is correct
13 Correct 589 ms 21844 KB Output is correct
14 Correct 367 ms 17496 KB Output is correct
15 Correct 350 ms 17016 KB Output is correct
16 Correct 276 ms 16080 KB Output is correct
17 Correct 423 ms 19804 KB Output is correct
18 Correct 424 ms 19908 KB Output is correct
19 Correct 442 ms 19892 KB Output is correct
20 Correct 445 ms 19872 KB Output is correct
21 Correct 189 ms 14760 KB Output is correct
22 Correct 434 ms 18596 KB Output is correct
23 Correct 538 ms 20720 KB Output is correct
24 Correct 460 ms 18916 KB Output is correct
25 Correct 142 ms 14244 KB Output is correct
26 Correct 150 ms 14244 KB Output is correct
27 Correct 143 ms 14304 KB Output is correct
28 Correct 158 ms 14296 KB Output is correct
29 Correct 596 ms 21180 KB Output is correct
30 Correct 599 ms 21528 KB Output is correct
31 Correct 817 ms 26060 KB Output is correct
32 Correct 681 ms 22328 KB Output is correct
33 Correct 604 ms 21736 KB Output is correct
34 Correct 328 ms 16808 KB Output is correct
35 Correct 534 ms 20196 KB Output is correct
36 Correct 609 ms 22224 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 144 ms 14280 KB Output is correct
2 Correct 143 ms 14260 KB Output is correct
3 Correct 140 ms 14224 KB Output is correct
4 Correct 171 ms 14256 KB Output is correct
5 Correct 604 ms 23868 KB Output is correct
6 Correct 422 ms 15324 KB Output is correct
7 Correct 720 ms 24384 KB Output is correct
8 Correct 277 ms 16460 KB Output is correct
9 Correct 459 ms 18624 KB Output is correct
10 Correct 738 ms 23632 KB Output is correct
11 Correct 281 ms 15688 KB Output is correct
12 Correct 842 ms 26520 KB Output is correct
13 Correct 622 ms 21828 KB Output is correct
14 Correct 432 ms 18000 KB Output is correct
15 Correct 848 ms 25720 KB Output is correct
16 Correct 635 ms 22428 KB Output is correct
17 Correct 499 ms 19912 KB Output is correct
18 Correct 479 ms 19944 KB Output is correct
19 Correct 484 ms 19984 KB Output is correct
20 Correct 492 ms 19988 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 6 ms 12888 KB Output is correct
2 Correct 7 ms 12884 KB Output is correct
3 Correct 12 ms 13096 KB Output is correct
4 Correct 11 ms 13012 KB Output is correct
5 Correct 11 ms 13540 KB Output is correct
6 Correct 14 ms 13028 KB Output is correct
7 Correct 15 ms 13140 KB Output is correct
8 Correct 12 ms 13404 KB Output is correct
9 Correct 15 ms 13280 KB Output is correct
10 Correct 10 ms 13524 KB Output is correct
11 Correct 16 ms 13104 KB Output is correct
12 Correct 16 ms 13144 KB Output is correct
13 Correct 10 ms 13540 KB Output is correct
14 Correct 12 ms 13280 KB Output is correct
15 Correct 15 ms 13168 KB Output is correct
16 Correct 11 ms 13012 KB Output is correct
17 Correct 12 ms 13132 KB Output is correct
18 Correct 10 ms 13428 KB Output is correct
19 Correct 11 ms 13140 KB Output is correct
20 Correct 11 ms 13124 KB Output is correct
21 Correct 483 ms 20068 KB Output is correct
22 Correct 520 ms 19908 KB Output is correct
23 Correct 490 ms 19908 KB Output is correct
24 Correct 548 ms 20364 KB Output is correct
25 Correct 785 ms 26032 KB Output is correct
26 Correct 824 ms 26352 KB Output is correct
27 Correct 488 ms 20036 KB Output is correct
28 Correct 481 ms 19948 KB Output is correct
29 Correct 497 ms 20172 KB Output is correct
30 Correct 648 ms 15988 KB Output is correct
31 Correct 587 ms 17152 KB Output is correct
32 Correct 577 ms 22876 KB Output is correct
33 Correct 144 ms 14280 KB Output is correct
34 Correct 143 ms 14260 KB Output is correct
35 Correct 140 ms 14224 KB Output is correct
36 Correct 171 ms 14256 KB Output is correct
37 Correct 604 ms 23868 KB Output is correct
38 Correct 422 ms 15324 KB Output is correct
39 Correct 720 ms 24384 KB Output is correct
40 Correct 277 ms 16460 KB Output is correct
41 Correct 459 ms 18624 KB Output is correct
42 Correct 738 ms 23632 KB Output is correct
43 Correct 281 ms 15688 KB Output is correct
44 Correct 842 ms 26520 KB Output is correct
45 Correct 622 ms 21828 KB Output is correct
46 Correct 432 ms 18000 KB Output is correct
47 Correct 848 ms 25720 KB Output is correct
48 Correct 635 ms 22428 KB Output is correct
49 Correct 499 ms 19912 KB Output is correct
50 Correct 479 ms 19944 KB Output is correct
51 Correct 484 ms 19984 KB Output is correct
52 Correct 492 ms 19988 KB Output is correct
53 Correct 149 ms 14428 KB Output is correct
54 Correct 143 ms 14364 KB Output is correct
55 Correct 141 ms 14408 KB Output is correct
56 Correct 139 ms 14404 KB Output is correct
57 Correct 618 ms 17520 KB Output is correct
58 Correct 315 ms 15052 KB Output is correct
59 Correct 493 ms 21408 KB Output is correct
60 Correct 619 ms 14596 KB Output is correct
61 Correct 628 ms 21872 KB Output is correct
62 Correct 772 ms 25812 KB Output is correct
63 Correct 847 ms 26492 KB Output is correct
64 Correct 773 ms 26064 KB Output is correct
65 Correct 330 ms 16492 KB Output is correct
66 Correct 286 ms 16060 KB Output is correct
67 Correct 628 ms 22368 KB Output is correct
68 Correct 544 ms 20136 KB Output is correct
69 Correct 491 ms 20048 KB Output is correct
70 Correct 476 ms 20012 KB Output is correct
71 Correct 488 ms 19944 KB Output is correct
72 Correct 491 ms 19932 KB Output is correct
73 Correct 375 ms 17012 KB Output is correct
74 Correct 548 ms 20092 KB Output is correct
75 Correct 833 ms 26348 KB Output is correct
76 Correct 828 ms 26440 KB Output is correct
77 Correct 140 ms 14424 KB Output is correct
78 Correct 140 ms 14424 KB Output is correct
79 Correct 144 ms 14448 KB Output is correct
80 Correct 140 ms 14424 KB Output is correct
81 Correct 532 ms 19680 KB Output is correct
82 Correct 363 ms 16972 KB Output is correct
83 Correct 269 ms 15576 KB Output is correct
84 Correct 563 ms 19900 KB Output is correct
85 Correct 638 ms 22200 KB Output is correct
86 Correct 691 ms 23156 KB Output is correct
87 Correct 471 ms 18512 KB Output is correct
88 Correct 284 ms 15616 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 6 ms 12888 KB Output is correct
2 Correct 7 ms 12884 KB Output is correct
3 Correct 12 ms 13096 KB Output is correct
4 Correct 11 ms 13012 KB Output is correct
5 Correct 11 ms 13540 KB Output is correct
6 Correct 14 ms 13028 KB Output is correct
7 Correct 15 ms 13140 KB Output is correct
8 Correct 12 ms 13404 KB Output is correct
9 Correct 15 ms 13280 KB Output is correct
10 Correct 10 ms 13524 KB Output is correct
11 Correct 16 ms 13104 KB Output is correct
12 Correct 16 ms 13144 KB Output is correct
13 Correct 10 ms 13540 KB Output is correct
14 Correct 12 ms 13280 KB Output is correct
15 Correct 15 ms 13168 KB Output is correct
16 Correct 11 ms 13012 KB Output is correct
17 Correct 12 ms 13132 KB Output is correct
18 Correct 10 ms 13428 KB Output is correct
19 Correct 11 ms 13140 KB Output is correct
20 Correct 11 ms 13124 KB Output is correct
21 Correct 483 ms 20068 KB Output is correct
22 Correct 520 ms 19908 KB Output is correct
23 Correct 490 ms 19908 KB Output is correct
24 Correct 548 ms 20364 KB Output is correct
25 Correct 785 ms 26032 KB Output is correct
26 Correct 824 ms 26352 KB Output is correct
27 Correct 488 ms 20036 KB Output is correct
28 Correct 481 ms 19948 KB Output is correct
29 Correct 497 ms 20172 KB Output is correct
30 Correct 648 ms 15988 KB Output is correct
31 Correct 587 ms 17152 KB Output is correct
32 Correct 577 ms 22876 KB Output is correct
33 Correct 149 ms 14252 KB Output is correct
34 Correct 134 ms 14300 KB Output is correct
35 Correct 139 ms 14276 KB Output is correct
36 Correct 141 ms 14228 KB Output is correct
37 Correct 619 ms 22836 KB Output is correct
38 Correct 404 ms 21480 KB Output is correct
39 Correct 528 ms 22112 KB Output is correct
40 Correct 764 ms 25964 KB Output is correct
41 Correct 820 ms 25712 KB Output is correct
42 Correct 721 ms 22312 KB Output is correct
43 Correct 176 ms 14664 KB Output is correct
44 Correct 682 ms 22616 KB Output is correct
45 Correct 589 ms 21844 KB Output is correct
46 Correct 367 ms 17496 KB Output is correct
47 Correct 350 ms 17016 KB Output is correct
48 Correct 276 ms 16080 KB Output is correct
49 Correct 423 ms 19804 KB Output is correct
50 Correct 424 ms 19908 KB Output is correct
51 Correct 442 ms 19892 KB Output is correct
52 Correct 445 ms 19872 KB Output is correct
53 Correct 189 ms 14760 KB Output is correct
54 Correct 434 ms 18596 KB Output is correct
55 Correct 538 ms 20720 KB Output is correct
56 Correct 460 ms 18916 KB Output is correct
57 Correct 142 ms 14244 KB Output is correct
58 Correct 150 ms 14244 KB Output is correct
59 Correct 143 ms 14304 KB Output is correct
60 Correct 158 ms 14296 KB Output is correct
61 Correct 596 ms 21180 KB Output is correct
62 Correct 599 ms 21528 KB Output is correct
63 Correct 817 ms 26060 KB Output is correct
64 Correct 681 ms 22328 KB Output is correct
65 Correct 604 ms 21736 KB Output is correct
66 Correct 328 ms 16808 KB Output is correct
67 Correct 534 ms 20196 KB Output is correct
68 Correct 609 ms 22224 KB Output is correct
69 Correct 144 ms 14280 KB Output is correct
70 Correct 143 ms 14260 KB Output is correct
71 Correct 140 ms 14224 KB Output is correct
72 Correct 171 ms 14256 KB Output is correct
73 Correct 604 ms 23868 KB Output is correct
74 Correct 422 ms 15324 KB Output is correct
75 Correct 720 ms 24384 KB Output is correct
76 Correct 277 ms 16460 KB Output is correct
77 Correct 459 ms 18624 KB Output is correct
78 Correct 738 ms 23632 KB Output is correct
79 Correct 281 ms 15688 KB Output is correct
80 Correct 842 ms 26520 KB Output is correct
81 Correct 622 ms 21828 KB Output is correct
82 Correct 432 ms 18000 KB Output is correct
83 Correct 848 ms 25720 KB Output is correct
84 Correct 635 ms 22428 KB Output is correct
85 Correct 499 ms 19912 KB Output is correct
86 Correct 479 ms 19944 KB Output is correct
87 Correct 484 ms 19984 KB Output is correct
88 Correct 492 ms 19988 KB Output is correct
89 Correct 149 ms 14428 KB Output is correct
90 Correct 143 ms 14364 KB Output is correct
91 Correct 141 ms 14408 KB Output is correct
92 Correct 139 ms 14404 KB Output is correct
93 Correct 618 ms 17520 KB Output is correct
94 Correct 315 ms 15052 KB Output is correct
95 Correct 493 ms 21408 KB Output is correct
96 Correct 619 ms 14596 KB Output is correct
97 Correct 628 ms 21872 KB Output is correct
98 Correct 772 ms 25812 KB Output is correct
99 Correct 847 ms 26492 KB Output is correct
100 Correct 773 ms 26064 KB Output is correct
101 Correct 330 ms 16492 KB Output is correct
102 Correct 286 ms 16060 KB Output is correct
103 Correct 628 ms 22368 KB Output is correct
104 Correct 544 ms 20136 KB Output is correct
105 Correct 491 ms 20048 KB Output is correct
106 Correct 476 ms 20012 KB Output is correct
107 Correct 488 ms 19944 KB Output is correct
108 Correct 491 ms 19932 KB Output is correct
109 Correct 375 ms 17012 KB Output is correct
110 Correct 548 ms 20092 KB Output is correct
111 Correct 833 ms 26348 KB Output is correct
112 Correct 828 ms 26440 KB Output is correct
113 Correct 140 ms 14424 KB Output is correct
114 Correct 140 ms 14424 KB Output is correct
115 Correct 144 ms 14448 KB Output is correct
116 Correct 140 ms 14424 KB Output is correct
117 Correct 532 ms 19680 KB Output is correct
118 Correct 363 ms 16972 KB Output is correct
119 Correct 269 ms 15576 KB Output is correct
120 Correct 563 ms 19900 KB Output is correct
121 Correct 638 ms 22200 KB Output is correct
122 Correct 691 ms 23156 KB Output is correct
123 Correct 471 ms 18512 KB Output is correct
124 Correct 284 ms 15616 KB Output is correct
125 Correct 284 ms 14960 KB Output is correct
126 Correct 338 ms 15144 KB Output is correct
127 Correct 298 ms 15076 KB Output is correct
128 Correct 302 ms 15040 KB Output is correct
129 Correct 282 ms 15228 KB Output is correct
130 Correct 305 ms 14948 KB Output is correct
131 Correct 1523 ms 16488 KB Output is correct
132 Correct 1592 ms 25672 KB Output is correct
133 Correct 2041 ms 31876 KB Output is correct
134 Correct 655 ms 23668 KB Output is correct
135 Correct 2230 ms 36940 KB Output is correct
136 Correct 1057 ms 20208 KB Output is correct
137 Runtime error 3576 ms 42176 KB Memory limit exceeded
138 Halted 0 ms 0 KB -