Submission #161257

# Submission time Handle Problem Language Result Execution time Memory
161257 2019-11-01T16:06:21 Z pink_bittern Segments (IZhO18_segments) C++14
75 / 100
2952 ms 15472 KB
#include <bits/stdc++.h>
#define pb push_back
#define pll pair <ll, ll>
#define MOMI using namespace std;
#define mp make_pair
#define pyshnapyshnakaa ios_base :: sync_with_stdio(0); cin.tie(0); cout.tie(0);
#pragma optimize("TKACHENKO-GORYACHENKO")
#pragma GCC optimize("O3")
#pragma GCC optimize("Ofast")
#pragma GCC optimize("unroll-loops")
 
typedef int ll;
 
typedef long double ld;
 
using namespace std;
 
const ll inf = 2e9 + 500;
const ll maxn = 2e5 + 100;
const ll block = 150;
const ll block_sz = (maxn + block - 1) / block;
 
ll n, m, k, t;
 
struct seg{
	ll l;
	ll r;
	inline ll sz() const {
		return r - l + 1;
	}
	ll i;
};
 
inline bool operator==(seg a, seg b) {
	return a.i == b.i;
}
 
vector <seg> S;
 
struct R {
	bool operator()(seg a, seg b) const {
		if (a.r == b.r) {
			return a.i < b.i;
		}
		return a.r < b.r; 
	}
};
 
struct L {
	bool operator()(seg a, seg b) const {
		if (a.l == b.l) {
			return a.i < b.i;
		}
		return a.l < b.l;
	}
};
 
vector <seg> lasts;
 
inline bool cmp(seg a, seg b) {
	return (a.r - a.l) < (b.r - b.l);
}
 
inline bool cmpl(const seg& a, const seg& b) {
	return a.l < b.l;
}
 
inline bool cmpr(const seg& a, const seg& b) {
	return a.r < b.r;
}
 
inline bool cmpsz(const seg& a, const seg& b) {
	return a.sz() < b.sz();
}
 
ll LASTL[block];
 
ll LASTR[block];
 
vector <seg> segs;
 
vector <seg> R[block];
 
vector <seg> L[block];
 
ll MNL[block];
ll MXL[block];
ll MNR[block];
ll MXR[block];
 
ll IL[maxn];
ll IR[maxn];
 
bool used[maxn];
 
inline void buildL(ll q) {
	ll w;
	sort(L[q].begin(), L[q].end(), cmpsz);
	MNL[q] = inf;
	MXL[q] = -inf;
	for (w = 0; w < L[q].size(); w++) {
		MNL[q] = min(MNL[q], L[q][w].l);
		MXL[q] = max(MXL[q], L[q][w].l);
	}
}
 
inline void buildR(ll q) {
	ll w;
	MNR[q] = inf;
	MXR[q] = -inf;
	sort(R[q].begin(), R[q].end(), cmpsz);
	for (w = 0; w < R[q].size(); w++) {
		MNR[q] = min(MNR[q], R[q][w].r);
		MXR[q] = max(MXR[q], R[q][w].r);
	}
}
 
inline void rebuild() { 
	ll q, w;
	lasts.clear();
	ll blocki = 0;
	for (q = 0; q < block; q++) {
		R[q].clear();
		L[q].clear();
	}
	sort(segs.begin(), segs.end(), cmpl);
	for (auto p : segs) {
		if (used[p.i]) {
			continue;
		}
		if (L[blocki].size() > block_sz) {
			blocki++;
		}
		IL[p.i] = blocki;
		L[blocki].pb(p);
	}
	sort(segs.begin(), segs.end(), cmpr);
	for (auto p: segs) {
		if (used[p.i]) {
			continue;
		}
		if (R[blocki].size() > block_sz) {
			blocki++;
		}
		IR[p.i] = blocki;
		R[blocki].pb(p);
	}
	for (q = 0; q < block; q++) {
		buildL(q);
	}
	for (q = 0; q < block; q++) {
		buildR(q);
	}
}
 
inline void add(seg a) {
	lasts.pb(a);
	S.pb(a);
	segs.push_back(a);
	IL[a.i] = IR[a.i] = -1;
}
 
inline void del(seg b) { 
	ll il = IL[b.i], ir = IR[b.i];
	used[b.i] = 1;
	if (il == -1) {
		return;
	}
	L[il].erase(find(L[il].begin(), L[il].end(), b));
	R[ir].erase(find(R[ir].begin(), R[ir].end(), b));
	buildL(il);
	buildR(ir);
}
 
inline ll slowL(ll i, ll x, ll l) {
	ll q;
	ll ans = 0;
	for (q = 0; q < L[i].size(); q++) {
		if (L[i][q].l >= l && L[i][q].sz() >= x) {
			ans++;
		}
	}
	return ans;
}
 
inline ll slowR(ll i, ll x, ll r) {
	ll q;
	ll ans = 0;
	for (q = 0; q < R[i].size(); q++) {
		if (R[i][q].r <= r && R[i][q].sz() >= x) {
			ans++;
		}
	}
	return ans;
}
 
inline ll fastL(ll i, ll x) {
	seg good;
	good.l = 0; good.r = x - 1; 
	ll j = (lower_bound(L[i].begin(), L[i].end(), good, cmpsz) - L[i].begin());
	return L[i].size() - j;
}
 
inline ll fastR(ll i, ll x) {
	seg good;
	good.l = 0; good.r = x - 1;
	ll j = (lower_bound(R[i].begin(), R[i].end(), good, cmpsz) - R[i].begin());
	return R[i].size() - j;
}
 
inline ll getansL(ll x, ll l) {
	ll q;
	ll ans = 0;
	for (q = 0; q < block; q++) {
		if (MNL[q] == inf) {
			continue;
		}
		if (MNL[q] >= l) {
			ans += fastL(q, x);
			continue;
		}
		if (MXL[q] < l) {
			continue;
		}
		if (MNL[q] < l) {
			ans += slowL(q, x, l);
		}
	}
 
	for (q = 0; q < lasts.size(); q++) {
		if (used[lasts[q].i]) {
			continue;
		}
		if (lasts[q].l >= l && lasts[q].sz() >= x) {
			ans++;
		}
	}
	return ans;
}
 
inline ll getansR(ll x, ll r) {
	ll q;
	ll ans = 0;
	ll cnt = 0;
	for (q = 0; q < block; q++) {
		if (MNR[q] == inf) {
			continue;
		}
		if (q > 1) {
			if (MXR[q - 1] > MNR[q]) {
				exit(-1);
			}
		}
		if (MXR[q] <= r) {
			ll dans = fastR(q, x);
			ans += dans;
			continue;
		}
		if (MNR[q] > r) {
			continue;
		}
		/// MXR[q] > r && MNR[q] <= r, 
		ll dans = slowR(q, x, r);
		ans += dans;
		cnt++;
	}
	// if (cnt > 5) {
	// 	exit(-1);
	// }
	for (q = 0; q < lasts.size(); q++) {
		if (used[lasts[q].i]) {
			continue;
		}
		if (lasts[q].r <= r && lasts[q].sz() >= x) {
			ans++;
		}
	}
	return ans;
}
 
inline ll answer(seg c, ll k) {
	if (c.sz() < k) {
		return 0;
	}
	ll q, w;
	ll ans = 0;
	ll lk = c.r - k + 2, rk = c.l + k - 2;
	ll allans = getansR(k, inf);
	ll dansl = getansL(k, lk);
	ll dansr = getansR(k, rk);
	ans = allans - dansr - dansl;
	return ans;
}
 
signed main() {
	ll q, w, e, a, b, c;
	pyshnapyshnakaa;
	cin >> n >> t;
	ll nxt = 0;
	ll lastans = 0;
	ll cnt3 = 0;
	for (q = 0; q < n; q++) {
		ll comm;
		cin >> comm;
		ll l, r;
		seg x;
		if (comm == 1) {
			cin >> l >> r;
			l ^= (lastans * t);
			r ^= (lastans * t);
			if (l > r) {
				swap(l, r);
			}
			x.l = l; x.r = r;
			x.i = S.size();
			add(x);
		}
		if (comm == 2) {
			cin >> a;
			a--;
			del(S[a]);
		}
		// if (cnt3 > 8e4 && n > 1e5) {
		// 	exit(-1);
		// }
		if (comm == 3) {
			cnt3++;
			cin >> l >> r;
			l ^= (lastans * t);
			r ^= (lastans * t);
			if (lasts.size() >= block_sz) {
				rebuild();
			}
			if (l > r) {
				swap(l, r);
			} 
			x.l = l; x.r = r;
			cin >> c;
			lastans = answer(x, c);
			cout << lastans << '\n';
		}
	}
	return 0;
}

Compilation message

segments.cpp:7:0: warning: ignoring #pragma optimize  [-Wunknown-pragmas]
 #pragma optimize("TKACHENKO-GORYACHENKO")
 
segments.cpp: In function 'void buildL(ll)':
segments.cpp:101:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (w = 0; w < L[q].size(); w++) {
              ~~^~~~~~~~~~~~~
segments.cpp: In function 'void buildR(ll)':
segments.cpp:112:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (w = 0; w < R[q].size(); w++) {
              ~~^~~~~~~~~~~~~
segments.cpp: In function 'void rebuild()':
segments.cpp:119:8: warning: unused variable 'w' [-Wunused-variable]
  ll q, w;
        ^
segments.cpp: In function 'll slowL(ll, ll, ll)':
segments.cpp:178:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (q = 0; q < L[i].size(); q++) {
              ~~^~~~~~~~~~~~~
segments.cpp: In function 'll slowR(ll, ll, ll)':
segments.cpp:189:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (q = 0; q < R[i].size(); q++) {
              ~~^~~~~~~~~~~~~
segments.cpp: In function 'll getansL(ll, ll)':
segments.cpp:230:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (q = 0; q < lasts.size(); q++) {
              ~~^~~~~~~~~~~~~~
segments.cpp: In function 'll getansR(ll, ll)':
segments.cpp:270:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (q = 0; q < lasts.size(); q++) {
              ~~^~~~~~~~~~~~~~
segments.cpp: In function 'll answer(seg, ll)':
segments.cpp:285:5: warning: unused variable 'q' [-Wunused-variable]
  ll q, w;
     ^
segments.cpp:285:8: warning: unused variable 'w' [-Wunused-variable]
  ll q, w;
        ^
segments.cpp: In function 'int main()':
segments.cpp:296:8: warning: unused variable 'w' [-Wunused-variable]
  ll q, w, e, a, b, c;
        ^
segments.cpp:296:11: warning: unused variable 'e' [-Wunused-variable]
  ll q, w, e, a, b, c;
           ^
segments.cpp:296:17: warning: unused variable 'b' [-Wunused-variable]
  ll q, w, e, a, b, c;
                 ^
segments.cpp:299:5: warning: unused variable 'nxt' [-Wunused-variable]
  ll nxt = 0;
     ^~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 9 ms 504 KB Output is correct
4 Correct 9 ms 504 KB Output is correct
5 Correct 15 ms 760 KB Output is correct
6 Correct 17 ms 632 KB Output is correct
7 Correct 32 ms 504 KB Output is correct
8 Correct 59 ms 716 KB Output is correct
9 Correct 64 ms 664 KB Output is correct
10 Correct 25 ms 816 KB Output is correct
11 Correct 24 ms 632 KB Output is correct
12 Correct 24 ms 632 KB Output is correct
13 Correct 27 ms 760 KB Output is correct
14 Correct 65 ms 632 KB Output is correct
15 Correct 8 ms 508 KB Output is correct
16 Correct 11 ms 508 KB Output is correct
17 Correct 64 ms 548 KB Output is correct
18 Correct 44 ms 760 KB Output is correct
19 Correct 68 ms 636 KB Output is correct
20 Correct 65 ms 604 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 915 ms 4560 KB Output is correct
2 Correct 955 ms 4512 KB Output is correct
3 Correct 939 ms 4408 KB Output is correct
4 Correct 880 ms 4776 KB Output is correct
5 Correct 226 ms 7188 KB Output is correct
6 Correct 158 ms 7600 KB Output is correct
7 Correct 918 ms 4480 KB Output is correct
8 Correct 940 ms 4520 KB Output is correct
9 Correct 914 ms 4432 KB Output is correct
10 Correct 1046 ms 2248 KB Output is correct
11 Correct 1042 ms 2852 KB Output is correct
12 Correct 669 ms 5840 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 261 ms 2312 KB Output is correct
2 Correct 231 ms 2308 KB Output is correct
3 Correct 325 ms 2268 KB Output is correct
4 Correct 236 ms 2396 KB Output is correct
5 Correct 410 ms 5832 KB Output is correct
6 Correct 524 ms 5164 KB Output is correct
7 Correct 482 ms 5548 KB Output is correct
8 Correct 162 ms 7316 KB Output is correct
9 Correct 581 ms 7204 KB Output is correct
10 Correct 1725 ms 6040 KB Output is correct
11 Correct 1317 ms 2488 KB Output is correct
12 Correct 1701 ms 5928 KB Output is correct
13 Correct 1993 ms 5756 KB Output is correct
14 Correct 2563 ms 3472 KB Output is correct
15 Correct 2621 ms 3224 KB Output is correct
16 Correct 2466 ms 2748 KB Output is correct
17 Correct 761 ms 4552 KB Output is correct
18 Correct 629 ms 4508 KB Output is correct
19 Correct 644 ms 4340 KB Output is correct
20 Correct 635 ms 4424 KB Output is correct
21 Correct 1817 ms 2504 KB Output is correct
22 Correct 2516 ms 3996 KB Output is correct
23 Correct 2259 ms 5528 KB Output is correct
24 Correct 2501 ms 4244 KB Output is correct
25 Correct 270 ms 2356 KB Output is correct
26 Correct 243 ms 2356 KB Output is correct
27 Correct 267 ms 2284 KB Output is correct
28 Correct 253 ms 2348 KB Output is correct
29 Correct 2132 ms 5648 KB Output is correct
30 Correct 2229 ms 5716 KB Output is correct
31 Correct 554 ms 7180 KB Output is correct
32 Correct 1726 ms 6172 KB Output is correct
33 Correct 1911 ms 5848 KB Output is correct
34 Correct 2558 ms 3244 KB Output is correct
35 Correct 2243 ms 4540 KB Output is correct
36 Correct 1780 ms 5944 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 248 ms 2356 KB Output is correct
2 Correct 244 ms 2228 KB Output is correct
3 Correct 242 ms 2228 KB Output is correct
4 Correct 252 ms 2228 KB Output is correct
5 Correct 569 ms 6192 KB Output is correct
6 Correct 1060 ms 1996 KB Output is correct
7 Correct 453 ms 6572 KB Output is correct
8 Correct 1066 ms 2416 KB Output is correct
9 Correct 2952 ms 3964 KB Output is correct
10 Correct 1589 ms 6220 KB Output is correct
11 Correct 2553 ms 2576 KB Output is correct
12 Correct 361 ms 7568 KB Output is correct
13 Correct 2059 ms 5728 KB Output is correct
14 Correct 2697 ms 3600 KB Output is correct
15 Correct 652 ms 7056 KB Output is correct
16 Correct 1990 ms 6152 KB Output is correct
17 Correct 922 ms 4420 KB Output is correct
18 Correct 917 ms 4320 KB Output is correct
19 Correct 913 ms 4420 KB Output is correct
20 Correct 958 ms 4444 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 9 ms 504 KB Output is correct
4 Correct 9 ms 504 KB Output is correct
5 Correct 15 ms 760 KB Output is correct
6 Correct 17 ms 632 KB Output is correct
7 Correct 32 ms 504 KB Output is correct
8 Correct 59 ms 716 KB Output is correct
9 Correct 64 ms 664 KB Output is correct
10 Correct 25 ms 816 KB Output is correct
11 Correct 24 ms 632 KB Output is correct
12 Correct 24 ms 632 KB Output is correct
13 Correct 27 ms 760 KB Output is correct
14 Correct 65 ms 632 KB Output is correct
15 Correct 8 ms 508 KB Output is correct
16 Correct 11 ms 508 KB Output is correct
17 Correct 64 ms 548 KB Output is correct
18 Correct 44 ms 760 KB Output is correct
19 Correct 68 ms 636 KB Output is correct
20 Correct 65 ms 604 KB Output is correct
21 Correct 915 ms 4560 KB Output is correct
22 Correct 955 ms 4512 KB Output is correct
23 Correct 939 ms 4408 KB Output is correct
24 Correct 880 ms 4776 KB Output is correct
25 Correct 226 ms 7188 KB Output is correct
26 Correct 158 ms 7600 KB Output is correct
27 Correct 918 ms 4480 KB Output is correct
28 Correct 940 ms 4520 KB Output is correct
29 Correct 914 ms 4432 KB Output is correct
30 Correct 1046 ms 2248 KB Output is correct
31 Correct 1042 ms 2852 KB Output is correct
32 Correct 669 ms 5840 KB Output is correct
33 Correct 248 ms 2356 KB Output is correct
34 Correct 244 ms 2228 KB Output is correct
35 Correct 242 ms 2228 KB Output is correct
36 Correct 252 ms 2228 KB Output is correct
37 Correct 569 ms 6192 KB Output is correct
38 Correct 1060 ms 1996 KB Output is correct
39 Correct 453 ms 6572 KB Output is correct
40 Correct 1066 ms 2416 KB Output is correct
41 Correct 2952 ms 3964 KB Output is correct
42 Correct 1589 ms 6220 KB Output is correct
43 Correct 2553 ms 2576 KB Output is correct
44 Correct 361 ms 7568 KB Output is correct
45 Correct 2059 ms 5728 KB Output is correct
46 Correct 2697 ms 3600 KB Output is correct
47 Correct 652 ms 7056 KB Output is correct
48 Correct 1990 ms 6152 KB Output is correct
49 Correct 922 ms 4420 KB Output is correct
50 Correct 917 ms 4320 KB Output is correct
51 Correct 913 ms 4420 KB Output is correct
52 Correct 958 ms 4444 KB Output is correct
53 Correct 264 ms 2260 KB Output is correct
54 Correct 271 ms 2388 KB Output is correct
55 Correct 235 ms 2228 KB Output is correct
56 Correct 246 ms 2224 KB Output is correct
57 Correct 1059 ms 3080 KB Output is correct
58 Correct 988 ms 1572 KB Output is correct
59 Correct 804 ms 5220 KB Output is correct
60 Correct 966 ms 1380 KB Output is correct
61 Correct 2108 ms 5888 KB Output is correct
62 Correct 835 ms 6932 KB Output is correct
63 Correct 464 ms 7312 KB Output is correct
64 Correct 803 ms 6908 KB Output is correct
65 Correct 2554 ms 2948 KB Output is correct
66 Correct 2424 ms 2712 KB Output is correct
67 Correct 1888 ms 6016 KB Output is correct
68 Correct 2370 ms 4652 KB Output is correct
69 Correct 929 ms 4888 KB Output is correct
70 Correct 952 ms 7100 KB Output is correct
71 Correct 947 ms 7124 KB Output is correct
72 Correct 938 ms 7092 KB Output is correct
73 Correct 2706 ms 5220 KB Output is correct
74 Correct 2474 ms 6784 KB Output is correct
75 Correct 189 ms 9872 KB Output is correct
76 Correct 436 ms 9616 KB Output is correct
77 Correct 251 ms 4420 KB Output is correct
78 Correct 242 ms 4504 KB Output is correct
79 Correct 271 ms 4432 KB Output is correct
80 Correct 253 ms 4336 KB Output is correct
81 Correct 2491 ms 6708 KB Output is correct
82 Correct 2706 ms 5216 KB Output is correct
83 Correct 2347 ms 4520 KB Output is correct
84 Correct 2698 ms 6752 KB Output is correct
85 Correct 1855 ms 7884 KB Output is correct
86 Correct 1888 ms 8012 KB Output is correct
87 Correct 2701 ms 6208 KB Output is correct
88 Correct 2388 ms 4472 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 9 ms 504 KB Output is correct
4 Correct 9 ms 504 KB Output is correct
5 Correct 15 ms 760 KB Output is correct
6 Correct 17 ms 632 KB Output is correct
7 Correct 32 ms 504 KB Output is correct
8 Correct 59 ms 716 KB Output is correct
9 Correct 64 ms 664 KB Output is correct
10 Correct 25 ms 816 KB Output is correct
11 Correct 24 ms 632 KB Output is correct
12 Correct 24 ms 632 KB Output is correct
13 Correct 27 ms 760 KB Output is correct
14 Correct 65 ms 632 KB Output is correct
15 Correct 8 ms 508 KB Output is correct
16 Correct 11 ms 508 KB Output is correct
17 Correct 64 ms 548 KB Output is correct
18 Correct 44 ms 760 KB Output is correct
19 Correct 68 ms 636 KB Output is correct
20 Correct 65 ms 604 KB Output is correct
21 Correct 915 ms 4560 KB Output is correct
22 Correct 955 ms 4512 KB Output is correct
23 Correct 939 ms 4408 KB Output is correct
24 Correct 880 ms 4776 KB Output is correct
25 Correct 226 ms 7188 KB Output is correct
26 Correct 158 ms 7600 KB Output is correct
27 Correct 918 ms 4480 KB Output is correct
28 Correct 940 ms 4520 KB Output is correct
29 Correct 914 ms 4432 KB Output is correct
30 Correct 1046 ms 2248 KB Output is correct
31 Correct 1042 ms 2852 KB Output is correct
32 Correct 669 ms 5840 KB Output is correct
33 Correct 261 ms 2312 KB Output is correct
34 Correct 231 ms 2308 KB Output is correct
35 Correct 325 ms 2268 KB Output is correct
36 Correct 236 ms 2396 KB Output is correct
37 Correct 410 ms 5832 KB Output is correct
38 Correct 524 ms 5164 KB Output is correct
39 Correct 482 ms 5548 KB Output is correct
40 Correct 162 ms 7316 KB Output is correct
41 Correct 581 ms 7204 KB Output is correct
42 Correct 1725 ms 6040 KB Output is correct
43 Correct 1317 ms 2488 KB Output is correct
44 Correct 1701 ms 5928 KB Output is correct
45 Correct 1993 ms 5756 KB Output is correct
46 Correct 2563 ms 3472 KB Output is correct
47 Correct 2621 ms 3224 KB Output is correct
48 Correct 2466 ms 2748 KB Output is correct
49 Correct 761 ms 4552 KB Output is correct
50 Correct 629 ms 4508 KB Output is correct
51 Correct 644 ms 4340 KB Output is correct
52 Correct 635 ms 4424 KB Output is correct
53 Correct 1817 ms 2504 KB Output is correct
54 Correct 2516 ms 3996 KB Output is correct
55 Correct 2259 ms 5528 KB Output is correct
56 Correct 2501 ms 4244 KB Output is correct
57 Correct 270 ms 2356 KB Output is correct
58 Correct 243 ms 2356 KB Output is correct
59 Correct 267 ms 2284 KB Output is correct
60 Correct 253 ms 2348 KB Output is correct
61 Correct 2132 ms 5648 KB Output is correct
62 Correct 2229 ms 5716 KB Output is correct
63 Correct 554 ms 7180 KB Output is correct
64 Correct 1726 ms 6172 KB Output is correct
65 Correct 1911 ms 5848 KB Output is correct
66 Correct 2558 ms 3244 KB Output is correct
67 Correct 2243 ms 4540 KB Output is correct
68 Correct 1780 ms 5944 KB Output is correct
69 Correct 248 ms 2356 KB Output is correct
70 Correct 244 ms 2228 KB Output is correct
71 Correct 242 ms 2228 KB Output is correct
72 Correct 252 ms 2228 KB Output is correct
73 Correct 569 ms 6192 KB Output is correct
74 Correct 1060 ms 1996 KB Output is correct
75 Correct 453 ms 6572 KB Output is correct
76 Correct 1066 ms 2416 KB Output is correct
77 Correct 2952 ms 3964 KB Output is correct
78 Correct 1589 ms 6220 KB Output is correct
79 Correct 2553 ms 2576 KB Output is correct
80 Correct 361 ms 7568 KB Output is correct
81 Correct 2059 ms 5728 KB Output is correct
82 Correct 2697 ms 3600 KB Output is correct
83 Correct 652 ms 7056 KB Output is correct
84 Correct 1990 ms 6152 KB Output is correct
85 Correct 922 ms 4420 KB Output is correct
86 Correct 917 ms 4320 KB Output is correct
87 Correct 913 ms 4420 KB Output is correct
88 Correct 958 ms 4444 KB Output is correct
89 Correct 264 ms 2260 KB Output is correct
90 Correct 271 ms 2388 KB Output is correct
91 Correct 235 ms 2228 KB Output is correct
92 Correct 246 ms 2224 KB Output is correct
93 Correct 1059 ms 3080 KB Output is correct
94 Correct 988 ms 1572 KB Output is correct
95 Correct 804 ms 5220 KB Output is correct
96 Correct 966 ms 1380 KB Output is correct
97 Correct 2108 ms 5888 KB Output is correct
98 Correct 835 ms 6932 KB Output is correct
99 Correct 464 ms 7312 KB Output is correct
100 Correct 803 ms 6908 KB Output is correct
101 Correct 2554 ms 2948 KB Output is correct
102 Correct 2424 ms 2712 KB Output is correct
103 Correct 1888 ms 6016 KB Output is correct
104 Correct 2370 ms 4652 KB Output is correct
105 Correct 929 ms 4888 KB Output is correct
106 Correct 952 ms 7100 KB Output is correct
107 Correct 947 ms 7124 KB Output is correct
108 Correct 938 ms 7092 KB Output is correct
109 Correct 2706 ms 5220 KB Output is correct
110 Correct 2474 ms 6784 KB Output is correct
111 Correct 189 ms 9872 KB Output is correct
112 Correct 436 ms 9616 KB Output is correct
113 Correct 251 ms 4420 KB Output is correct
114 Correct 242 ms 4504 KB Output is correct
115 Correct 271 ms 4432 KB Output is correct
116 Correct 253 ms 4336 KB Output is correct
117 Correct 2491 ms 6708 KB Output is correct
118 Correct 2706 ms 5216 KB Output is correct
119 Correct 2347 ms 4520 KB Output is correct
120 Correct 2698 ms 6752 KB Output is correct
121 Correct 1855 ms 7884 KB Output is correct
122 Correct 1888 ms 8012 KB Output is correct
123 Correct 2701 ms 6208 KB Output is correct
124 Correct 2388 ms 4472 KB Output is correct
125 Correct 722 ms 6668 KB Output is correct
126 Correct 731 ms 6548 KB Output is correct
127 Correct 830 ms 6688 KB Output is correct
128 Correct 769 ms 6544 KB Output is correct
129 Correct 690 ms 6568 KB Output is correct
130 Correct 764 ms 6552 KB Output is correct
131 Correct 2383 ms 5476 KB Output is correct
132 Correct 2770 ms 13224 KB Output is correct
133 Incorrect 1665 ms 15472 KB Output isn't correct
134 Halted 0 ms 0 KB -