Submission #94541

# Submission time Handle Problem Language Result Execution time Memory
94541 2019-01-20T05:21:06 Z szawinis Segments (IZhO18_segments) C++17
100 / 100
2542 ms 14160 KB
/**
 * code generated by JHelper
 * More info: https://github.com/AlexeyDmitriev/JHelper
 * @author
 */

#include <bits/stdc++.h>
using namespace std;
#define long long long
const long MOD = 1e9+7, LINF = 1e18 + 1e16;
const int INF = 1e9+1;
const double EPS = 1e-10;
const int dx[4] = {-1, 0, 1, 0}, dy[4] = {0, 1, 0, -1};
const int N = 2e5+1, MAGIC = 3000, S = 3000;

class TaskD {

	int n, T, id[N], last[N], blk[N];
	bool valid[N];
	pair<int,int> segs[N];
	vector<pair<int,int> > fl, fr;

//	vector<vector<int> > tl, tr;
//
//	int get_r(int l, int r, int targ_r) {
//		int ret = 0;
//		for(l += fr.size(), r += fr.size() + 1; l < r; l >>= 1, r >>= 1) {
//			if(l & 1) {
//				auto it = lower_bound(tr[l].begin(), tr[l].end(), targ_r);
//				ret += it - tr[l].begin();
////				cout << "get_r " << it - tr[l].begin() << ' ' << *(--it) << endl;
////				for(int x: tr[l]) cout << x << ' ';
////				cout << endl;
//				++l;
//			}
//			if(r & 1) {
//				--r;
//				auto it = lower_bound(tr[r].begin(), tr[r].end(), targ_r);
//				ret += it - tr[r].begin();
////				cout << "get_r " << it - tr[r].begin() << ' ' << *(--it) << endl;
////				for(int x: tr[r]) cout << x << ' ';
////				cout << endl;
//			}
//		}
//		return ret;
//	}
//
//	int get_l(int l, int r, int targ_l) {
//		int ret = 0;
//		for(l += fl.size(), r += fl.size() + 1; l < r; l >>= 1, r >>= 1) {
//			if(l & 1) {
//				auto it = upper_bound(tl[l].begin(), tl[l].end(), targ_l);
//				ret += tl[l].end() - it;
//				++l;
//			}
//			if(r & 1) {
//				--r;
//				auto it = upper_bound(tl[r].begin(), tl[r].end(), targ_l);
//				ret += tl[r].end() - it;
//			}
//		}
//		return ret;
//	}
//
//	void build() {
//		tl.clear();
//		tr.clear();
//		tl.resize(2 * fl.size());
//		tr.resize(2 * fr.size());
//		sort(fl.begin(), fl.end());
//		sort(fr.begin(), fr.end());
//		for(int i = 0; i < fl.size(); i++) tl[fl.size() + i] = {fl[i].second};
//		for(int i = 0; i < fr.size(); i++) tr[fr.size() + i] = {fr[i].second};
//		for(int i = fl.size()-1; i >= 1; i--) {
//			tl[i].resize(tl[i << 1].size() + tl[i << 1 | 1].size());
//			merge(tl[i << 1].begin(), tl[i << 1].end(), tl[i << 1 | 1].begin(), tl[i << 1 | 1].end(),
//			      tl[i].begin());
//		}
//		for(int i = fr.size()-1; i >= 1; i--) {
//			tr[i].resize(tr[i << 1].size() + tr[i << 1 | 1].size());
//			merge(tr[i << 1].begin(), tr[i << 1].end(), tr[i << 1 | 1].begin(), tr[i << 1 | 1].end(),
//			      tr[i].begin());
//		}
//	}

	vector<vector<int> > tl, tr;
	void build() {
		sort(fl.begin(), fl.end());
		sort(fr.begin(), fr.end());
		tl = vector<vector<int> >((fl.size() + S-1) / S);
		tr = vector<vector<int> >((fr.size() + S-1) / S);
		for(int i = 0; i < fl.size(); i++) tl[i / S].push_back(fl[i].second);
		for(int i = 0; i < fr.size(); i++) tr[i / S].push_back(fr[i].second);
		for(auto &v: tl) sort(v.begin(), v.end());
		for(auto &v: tr) sort(v.begin(), v.end());
	}

	int get_l(int l, int r, int targ_l) {
		int lb = (l + S-1) / S, rb = (r+1) / S - 1;
		int ret = 0;
		if(lb > rb) {
			for(int i = l; i <= r; i++) {
				ret += fl[i].second > targ_l;
			}
			return ret;
		}
		for(int i = l; i < lb * S; i++) ret += fl[i].second > targ_l;
		for(int i = lb; i <= rb; i++) ret += tl[i].end() - upper_bound(tl[i].begin(), tl[i].end(), targ_l);
		for(int i = (rb + 1) * S; i <= r; i++) ret += fl[i].second > targ_l;
		return ret;
	}

	int get_r(int l, int r, int targ_r) {
		int lb = (l + S-1) / S, rb = (r+1) / S - 1;
		int ret = 0;
		if(lb > rb) {
			for(int i = l; i <= r; i++) {
				ret += fr[i].second < targ_r;
			}
			return ret;
		}
		for(int i = l; i < lb * S; i++) ret += fr[i].second < targ_r;
		for(int i = lb; i <= rb; i++) ret += lower_bound(tr[i].begin(), tr[i].end(), targ_r) - tr[i].begin();
		for(int i = (rb + 1) * S; i <= r; i++) ret += fr[i].second < targ_r;
		return ret;
	}

public:
	void solve(istream &cin, ostream &cout) {
		cin >> n >> T;
		int lastans = 0, tick = 0, alive = 0;
		for(int i = 0; i < n; i++) {
			segs[i] = {-1, -1};
			blk[i] = i / MAGIC;
		}
		for(int i = 0, inst; i < n; i++) {
			if(i % MAGIC == 0) {
				fl.clear();
				fr.clear();
				for(int j = 0; j < i; j++) {
					if(!valid[id[j]]) continue;
					int len = segs[id[j]].second - segs[id[j]].first + 1;
					fl.emplace_back(len, segs[id[j]].first);
					fr.emplace_back(len, segs[id[j]].second);
				}
				build();
			}
			cin >> inst;
			if(inst == 1) {
				int l, r;
				cin >> l >> r;
				l ^= T * lastans;
				r ^= T * lastans;
				if(l > r) swap(l, r);
				id[i] = ++tick;
				valid[id[i]] = true;
				last[id[i]] = i;
				segs[id[i]] = {l, r};
				++alive;
			} else if(inst == 2) {
				int x;
				cin >> x;
				id[i] = x;
				valid[id[i]] = false;
				--alive;
			} else {
				int l, r, k;
				cin >> l >> r >> k;
				l ^= T * lastans;
				r ^= T * lastans;
				if(l > r) swap(l, r);
				lastans = 0;
				if(r-l+1 < k) {
					cout << lastans << '\n';
					continue;
				}
				// outside block -> three cases
				int idx = lower_bound(fl.begin(), fl.end(), make_pair(k, 0)) - fl.begin();
				lastans += idx; // len < k
				lastans += get_l(idx, fl.size() - 1, r - k + 1); // l[j] > r[i] - k[i] + 1 and len >= k
				lastans += get_r(idx, fr.size() - 1, l + k - 1); // r[j] < l[i] + k[i] - 1 and len >= k
				// within same block
				for(int j = i-1; j >= 0 && blk[j] == blk[i]; j--) {
					if(valid[id[j]]) {
						lastans += min(segs[id[j]].second, r) - max(segs[id[j]].first, l) + 1 < k;
					} else if(segs[id[j]].first != -1 && blk[last[id[j]]] < blk[i]) {
						lastans -= min(segs[id[j]].second, r) - max(segs[id[j]].first, l) + 1 < k;
					}
				}
				lastans = alive - lastans;
				cout << lastans << '\n';
			}
		}
	}
};

class Solver {
public:
	void solve(std::istream& in, std::ostream& out) {
	    TaskD *obj = new TaskD();
		obj->solve(in, out);
		delete obj;
	}
};

int main() {
	ios::sync_with_stdio(false);
	cin.tie(0);
	Solver solver;
	std::istream& in(std::cin);
	std::ostream& out(std::cout);
	solver.solve(in, out);
	return 0;
}

Compilation message

segments.cpp: In member function 'void TaskD::build()':
segments.cpp:92:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i = 0; i < fl.size(); i++) tl[i / S].push_back(fl[i].second);
                  ~~^~~~~~~~~~~
segments.cpp:93:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for(int i = 0; i < fr.size(); i++) tr[i / S].push_back(fr[i].second);
                  ~~^~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 5 ms 4472 KB Output is correct
2 Correct 5 ms 4472 KB Output is correct
3 Correct 10 ms 4472 KB Output is correct
4 Correct 10 ms 4476 KB Output is correct
5 Correct 15 ms 4600 KB Output is correct
6 Correct 15 ms 4564 KB Output is correct
7 Correct 12 ms 4472 KB Output is correct
8 Correct 12 ms 4600 KB Output is correct
9 Correct 13 ms 4620 KB Output is correct
10 Correct 9 ms 4600 KB Output is correct
11 Correct 18 ms 4604 KB Output is correct
12 Correct 18 ms 4600 KB Output is correct
13 Correct 8 ms 4600 KB Output is correct
14 Correct 11 ms 4600 KB Output is correct
15 Correct 10 ms 4472 KB Output is correct
16 Correct 9 ms 4472 KB Output is correct
17 Correct 11 ms 4472 KB Output is correct
18 Correct 9 ms 4600 KB Output is correct
19 Correct 11 ms 4472 KB Output is correct
20 Correct 12 ms 4648 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 845 ms 6216 KB Output is correct
2 Correct 885 ms 6216 KB Output is correct
3 Correct 857 ms 6228 KB Output is correct
4 Correct 750 ms 6396 KB Output is correct
5 Correct 547 ms 7164 KB Output is correct
6 Correct 522 ms 7104 KB Output is correct
7 Correct 871 ms 6200 KB Output is correct
8 Correct 855 ms 6288 KB Output is correct
9 Correct 842 ms 6280 KB Output is correct
10 Correct 765 ms 5764 KB Output is correct
11 Correct 693 ms 5752 KB Output is correct
12 Correct 719 ms 6672 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 135 ms 4648 KB Output is correct
2 Correct 123 ms 4644 KB Output is correct
3 Correct 140 ms 4572 KB Output is correct
4 Correct 134 ms 4604 KB Output is correct
5 Correct 693 ms 6596 KB Output is correct
6 Correct 650 ms 6496 KB Output is correct
7 Correct 738 ms 6776 KB Output is correct
8 Correct 512 ms 7160 KB Output is correct
9 Correct 511 ms 7124 KB Output is correct
10 Correct 596 ms 6336 KB Output is correct
11 Correct 190 ms 4772 KB Output is correct
12 Correct 582 ms 6748 KB Output is correct
13 Correct 552 ms 6444 KB Output is correct
14 Correct 454 ms 5544 KB Output is correct
15 Correct 455 ms 5356 KB Output is correct
16 Correct 353 ms 5280 KB Output is correct
17 Correct 767 ms 6320 KB Output is correct
18 Correct 751 ms 6208 KB Output is correct
19 Correct 733 ms 6280 KB Output is correct
20 Correct 766 ms 6232 KB Output is correct
21 Correct 319 ms 4984 KB Output is correct
22 Correct 591 ms 5752 KB Output is correct
23 Correct 521 ms 5916 KB Output is correct
24 Correct 578 ms 5896 KB Output is correct
25 Correct 130 ms 4600 KB Output is correct
26 Correct 127 ms 4724 KB Output is correct
27 Correct 135 ms 4600 KB Output is correct
28 Correct 124 ms 4604 KB Output is correct
29 Correct 613 ms 6168 KB Output is correct
30 Correct 606 ms 6284 KB Output is correct
31 Correct 525 ms 7000 KB Output is correct
32 Correct 609 ms 6560 KB Output is correct
33 Correct 596 ms 6356 KB Output is correct
34 Correct 462 ms 5352 KB Output is correct
35 Correct 580 ms 6000 KB Output is correct
36 Correct 601 ms 6456 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 130 ms 4612 KB Output is correct
2 Correct 127 ms 4580 KB Output is correct
3 Correct 130 ms 4572 KB Output is correct
4 Correct 134 ms 4580 KB Output is correct
5 Correct 719 ms 6780 KB Output is correct
6 Correct 793 ms 5524 KB Output is correct
7 Correct 682 ms 6908 KB Output is correct
8 Correct 993 ms 5584 KB Output is correct
9 Correct 571 ms 5640 KB Output is correct
10 Correct 605 ms 6568 KB Output is correct
11 Correct 417 ms 5100 KB Output is correct
12 Correct 520 ms 7184 KB Output is correct
13 Correct 569 ms 6236 KB Output is correct
14 Correct 526 ms 5480 KB Output is correct
15 Correct 561 ms 7000 KB Output is correct
16 Correct 630 ms 6304 KB Output is correct
17 Correct 832 ms 6116 KB Output is correct
18 Correct 887 ms 6228 KB Output is correct
19 Correct 824 ms 6224 KB Output is correct
20 Correct 865 ms 6292 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 4472 KB Output is correct
2 Correct 5 ms 4472 KB Output is correct
3 Correct 10 ms 4472 KB Output is correct
4 Correct 10 ms 4476 KB Output is correct
5 Correct 15 ms 4600 KB Output is correct
6 Correct 15 ms 4564 KB Output is correct
7 Correct 12 ms 4472 KB Output is correct
8 Correct 12 ms 4600 KB Output is correct
9 Correct 13 ms 4620 KB Output is correct
10 Correct 9 ms 4600 KB Output is correct
11 Correct 18 ms 4604 KB Output is correct
12 Correct 18 ms 4600 KB Output is correct
13 Correct 8 ms 4600 KB Output is correct
14 Correct 11 ms 4600 KB Output is correct
15 Correct 10 ms 4472 KB Output is correct
16 Correct 9 ms 4472 KB Output is correct
17 Correct 11 ms 4472 KB Output is correct
18 Correct 9 ms 4600 KB Output is correct
19 Correct 11 ms 4472 KB Output is correct
20 Correct 12 ms 4648 KB Output is correct
21 Correct 845 ms 6216 KB Output is correct
22 Correct 885 ms 6216 KB Output is correct
23 Correct 857 ms 6228 KB Output is correct
24 Correct 750 ms 6396 KB Output is correct
25 Correct 547 ms 7164 KB Output is correct
26 Correct 522 ms 7104 KB Output is correct
27 Correct 871 ms 6200 KB Output is correct
28 Correct 855 ms 6288 KB Output is correct
29 Correct 842 ms 6280 KB Output is correct
30 Correct 765 ms 5764 KB Output is correct
31 Correct 693 ms 5752 KB Output is correct
32 Correct 719 ms 6672 KB Output is correct
33 Correct 130 ms 4612 KB Output is correct
34 Correct 127 ms 4580 KB Output is correct
35 Correct 130 ms 4572 KB Output is correct
36 Correct 134 ms 4580 KB Output is correct
37 Correct 719 ms 6780 KB Output is correct
38 Correct 793 ms 5524 KB Output is correct
39 Correct 682 ms 6908 KB Output is correct
40 Correct 993 ms 5584 KB Output is correct
41 Correct 571 ms 5640 KB Output is correct
42 Correct 605 ms 6568 KB Output is correct
43 Correct 417 ms 5100 KB Output is correct
44 Correct 520 ms 7184 KB Output is correct
45 Correct 569 ms 6236 KB Output is correct
46 Correct 526 ms 5480 KB Output is correct
47 Correct 561 ms 7000 KB Output is correct
48 Correct 630 ms 6304 KB Output is correct
49 Correct 832 ms 6116 KB Output is correct
50 Correct 887 ms 6228 KB Output is correct
51 Correct 824 ms 6224 KB Output is correct
52 Correct 865 ms 6292 KB Output is correct
53 Correct 129 ms 4528 KB Output is correct
54 Correct 129 ms 4648 KB Output is correct
55 Correct 123 ms 4472 KB Output is correct
56 Correct 125 ms 4600 KB Output is correct
57 Correct 837 ms 5988 KB Output is correct
58 Correct 800 ms 5368 KB Output is correct
59 Correct 743 ms 6432 KB Output is correct
60 Correct 703 ms 5240 KB Output is correct
61 Correct 580 ms 6180 KB Output is correct
62 Correct 547 ms 6732 KB Output is correct
63 Correct 529 ms 7164 KB Output is correct
64 Correct 547 ms 6936 KB Output is correct
65 Correct 434 ms 5348 KB Output is correct
66 Correct 480 ms 5084 KB Output is correct
67 Correct 624 ms 6348 KB Output is correct
68 Correct 677 ms 6252 KB Output is correct
69 Correct 880 ms 6428 KB Output is correct
70 Correct 860 ms 6328 KB Output is correct
71 Correct 860 ms 6204 KB Output is correct
72 Correct 863 ms 6424 KB Output is correct
73 Correct 537 ms 5316 KB Output is correct
74 Correct 632 ms 5956 KB Output is correct
75 Correct 491 ms 7320 KB Output is correct
76 Correct 515 ms 7112 KB Output is correct
77 Correct 128 ms 4728 KB Output is correct
78 Correct 125 ms 4600 KB Output is correct
79 Correct 132 ms 4600 KB Output is correct
80 Correct 125 ms 4472 KB Output is correct
81 Correct 600 ms 6040 KB Output is correct
82 Correct 522 ms 5300 KB Output is correct
83 Correct 464 ms 5184 KB Output is correct
84 Correct 569 ms 5956 KB Output is correct
85 Correct 592 ms 6364 KB Output is correct
86 Correct 646 ms 6832 KB Output is correct
87 Correct 619 ms 5624 KB Output is correct
88 Correct 398 ms 5112 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 4472 KB Output is correct
2 Correct 5 ms 4472 KB Output is correct
3 Correct 10 ms 4472 KB Output is correct
4 Correct 10 ms 4476 KB Output is correct
5 Correct 15 ms 4600 KB Output is correct
6 Correct 15 ms 4564 KB Output is correct
7 Correct 12 ms 4472 KB Output is correct
8 Correct 12 ms 4600 KB Output is correct
9 Correct 13 ms 4620 KB Output is correct
10 Correct 9 ms 4600 KB Output is correct
11 Correct 18 ms 4604 KB Output is correct
12 Correct 18 ms 4600 KB Output is correct
13 Correct 8 ms 4600 KB Output is correct
14 Correct 11 ms 4600 KB Output is correct
15 Correct 10 ms 4472 KB Output is correct
16 Correct 9 ms 4472 KB Output is correct
17 Correct 11 ms 4472 KB Output is correct
18 Correct 9 ms 4600 KB Output is correct
19 Correct 11 ms 4472 KB Output is correct
20 Correct 12 ms 4648 KB Output is correct
21 Correct 845 ms 6216 KB Output is correct
22 Correct 885 ms 6216 KB Output is correct
23 Correct 857 ms 6228 KB Output is correct
24 Correct 750 ms 6396 KB Output is correct
25 Correct 547 ms 7164 KB Output is correct
26 Correct 522 ms 7104 KB Output is correct
27 Correct 871 ms 6200 KB Output is correct
28 Correct 855 ms 6288 KB Output is correct
29 Correct 842 ms 6280 KB Output is correct
30 Correct 765 ms 5764 KB Output is correct
31 Correct 693 ms 5752 KB Output is correct
32 Correct 719 ms 6672 KB Output is correct
33 Correct 135 ms 4648 KB Output is correct
34 Correct 123 ms 4644 KB Output is correct
35 Correct 140 ms 4572 KB Output is correct
36 Correct 134 ms 4604 KB Output is correct
37 Correct 693 ms 6596 KB Output is correct
38 Correct 650 ms 6496 KB Output is correct
39 Correct 738 ms 6776 KB Output is correct
40 Correct 512 ms 7160 KB Output is correct
41 Correct 511 ms 7124 KB Output is correct
42 Correct 596 ms 6336 KB Output is correct
43 Correct 190 ms 4772 KB Output is correct
44 Correct 582 ms 6748 KB Output is correct
45 Correct 552 ms 6444 KB Output is correct
46 Correct 454 ms 5544 KB Output is correct
47 Correct 455 ms 5356 KB Output is correct
48 Correct 353 ms 5280 KB Output is correct
49 Correct 767 ms 6320 KB Output is correct
50 Correct 751 ms 6208 KB Output is correct
51 Correct 733 ms 6280 KB Output is correct
52 Correct 766 ms 6232 KB Output is correct
53 Correct 319 ms 4984 KB Output is correct
54 Correct 591 ms 5752 KB Output is correct
55 Correct 521 ms 5916 KB Output is correct
56 Correct 578 ms 5896 KB Output is correct
57 Correct 130 ms 4600 KB Output is correct
58 Correct 127 ms 4724 KB Output is correct
59 Correct 135 ms 4600 KB Output is correct
60 Correct 124 ms 4604 KB Output is correct
61 Correct 613 ms 6168 KB Output is correct
62 Correct 606 ms 6284 KB Output is correct
63 Correct 525 ms 7000 KB Output is correct
64 Correct 609 ms 6560 KB Output is correct
65 Correct 596 ms 6356 KB Output is correct
66 Correct 462 ms 5352 KB Output is correct
67 Correct 580 ms 6000 KB Output is correct
68 Correct 601 ms 6456 KB Output is correct
69 Correct 130 ms 4612 KB Output is correct
70 Correct 127 ms 4580 KB Output is correct
71 Correct 130 ms 4572 KB Output is correct
72 Correct 134 ms 4580 KB Output is correct
73 Correct 719 ms 6780 KB Output is correct
74 Correct 793 ms 5524 KB Output is correct
75 Correct 682 ms 6908 KB Output is correct
76 Correct 993 ms 5584 KB Output is correct
77 Correct 571 ms 5640 KB Output is correct
78 Correct 605 ms 6568 KB Output is correct
79 Correct 417 ms 5100 KB Output is correct
80 Correct 520 ms 7184 KB Output is correct
81 Correct 569 ms 6236 KB Output is correct
82 Correct 526 ms 5480 KB Output is correct
83 Correct 561 ms 7000 KB Output is correct
84 Correct 630 ms 6304 KB Output is correct
85 Correct 832 ms 6116 KB Output is correct
86 Correct 887 ms 6228 KB Output is correct
87 Correct 824 ms 6224 KB Output is correct
88 Correct 865 ms 6292 KB Output is correct
89 Correct 129 ms 4528 KB Output is correct
90 Correct 129 ms 4648 KB Output is correct
91 Correct 123 ms 4472 KB Output is correct
92 Correct 125 ms 4600 KB Output is correct
93 Correct 837 ms 5988 KB Output is correct
94 Correct 800 ms 5368 KB Output is correct
95 Correct 743 ms 6432 KB Output is correct
96 Correct 703 ms 5240 KB Output is correct
97 Correct 580 ms 6180 KB Output is correct
98 Correct 547 ms 6732 KB Output is correct
99 Correct 529 ms 7164 KB Output is correct
100 Correct 547 ms 6936 KB Output is correct
101 Correct 434 ms 5348 KB Output is correct
102 Correct 480 ms 5084 KB Output is correct
103 Correct 624 ms 6348 KB Output is correct
104 Correct 677 ms 6252 KB Output is correct
105 Correct 880 ms 6428 KB Output is correct
106 Correct 860 ms 6328 KB Output is correct
107 Correct 860 ms 6204 KB Output is correct
108 Correct 863 ms 6424 KB Output is correct
109 Correct 537 ms 5316 KB Output is correct
110 Correct 632 ms 5956 KB Output is correct
111 Correct 491 ms 7320 KB Output is correct
112 Correct 515 ms 7112 KB Output is correct
113 Correct 128 ms 4728 KB Output is correct
114 Correct 125 ms 4600 KB Output is correct
115 Correct 132 ms 4600 KB Output is correct
116 Correct 125 ms 4472 KB Output is correct
117 Correct 600 ms 6040 KB Output is correct
118 Correct 522 ms 5300 KB Output is correct
119 Correct 464 ms 5184 KB Output is correct
120 Correct 569 ms 5956 KB Output is correct
121 Correct 592 ms 6364 KB Output is correct
122 Correct 646 ms 6832 KB Output is correct
123 Correct 619 ms 5624 KB Output is correct
124 Correct 398 ms 5112 KB Output is correct
125 Correct 256 ms 4728 KB Output is correct
126 Correct 269 ms 4716 KB Output is correct
127 Correct 273 ms 4728 KB Output is correct
128 Correct 264 ms 4728 KB Output is correct
129 Correct 254 ms 4728 KB Output is correct
130 Correct 260 ms 4728 KB Output is correct
131 Correct 1917 ms 6084 KB Output is correct
132 Correct 2310 ms 7592 KB Output is correct
133 Correct 2481 ms 13516 KB Output is correct
134 Correct 2293 ms 12576 KB Output is correct
135 Correct 2542 ms 13612 KB Output is correct
136 Correct 1304 ms 11692 KB Output is correct
137 Correct 2045 ms 13700 KB Output is correct
138 Correct 2011 ms 11952 KB Output is correct
139 Correct 2123 ms 12788 KB Output is correct
140 Correct 2121 ms 13504 KB Output is correct
141 Correct 2076 ms 12460 KB Output is correct
142 Correct 924 ms 9464 KB Output is correct
143 Correct 1319 ms 10004 KB Output is correct
144 Correct 842 ms 9208 KB Output is correct
145 Correct 2111 ms 13384 KB Output is correct
146 Correct 1686 ms 10864 KB Output is correct
147 Correct 1347 ms 10088 KB Output is correct
148 Correct 1281 ms 9972 KB Output is correct
149 Correct 2439 ms 13052 KB Output is correct
150 Correct 2447 ms 13120 KB Output is correct
151 Correct 2489 ms 13132 KB Output is correct
152 Correct 2476 ms 13068 KB Output is correct
153 Correct 2457 ms 13328 KB Output is correct
154 Correct 2477 ms 13156 KB Output is correct
155 Correct 1016 ms 9796 KB Output is correct
156 Correct 1356 ms 10276 KB Output is correct
157 Correct 2136 ms 13428 KB Output is correct
158 Correct 2093 ms 13728 KB Output is correct
159 Correct 2052 ms 12100 KB Output is correct
160 Correct 1917 ms 11020 KB Output is correct
161 Correct 273 ms 8952 KB Output is correct
162 Correct 279 ms 8952 KB Output is correct
163 Correct 268 ms 8888 KB Output is correct
164 Correct 335 ms 8952 KB Output is correct
165 Correct 278 ms 8832 KB Output is correct
166 Correct 271 ms 8824 KB Output is correct
167 Correct 2013 ms 14160 KB Output is correct
168 Correct 2057 ms 13964 KB Output is correct
169 Correct 2089 ms 13520 KB Output is correct
170 Correct 2078 ms 13328 KB Output is correct
171 Correct 2016 ms 12520 KB Output is correct
172 Correct 1554 ms 10856 KB Output is correct
173 Correct 2098 ms 13504 KB Output is correct
174 Correct 1680 ms 10764 KB Output is correct
175 Correct 2161 ms 12608 KB Output is correct
176 Correct 1223 ms 10228 KB Output is correct
177 Correct 2140 ms 11964 KB Output is correct
178 Correct 2013 ms 11896 KB Output is correct