Submission #161261

# Submission time Handle Problem Language Result Execution time Memory
161261 2019-11-01T16:18:59 Z pink_bittern Segments (IZhO18_segments) C++14
75 / 100
2900 ms 20136 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 + 1e4;
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();
}
 
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;
	if (n > maxn) {
		exit(-1);
	}
	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:97: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:108: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:115:8: warning: unused variable 'w' [-Wunused-variable]
  ll q, w;
        ^
segments.cpp: In function 'll slowL(ll, ll, ll)':
segments.cpp:174: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:185: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:226: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:266: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:281:5: warning: unused variable 'q' [-Wunused-variable]
  ll q, w;
     ^
segments.cpp:281:8: warning: unused variable 'w' [-Wunused-variable]
  ll q, w;
        ^
segments.cpp: In function 'int main()':
segments.cpp:292:8: warning: unused variable 'w' [-Wunused-variable]
  ll q, w, e, a, b, c;
        ^
segments.cpp:292:11: warning: unused variable 'e' [-Wunused-variable]
  ll q, w, e, a, b, c;
           ^
segments.cpp:292:17: warning: unused variable 'b' [-Wunused-variable]
  ll q, w, e, a, b, c;
                 ^
segments.cpp:298:5: warning: unused variable 'nxt' [-Wunused-variable]
  ll nxt = 0;
     ^~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 504 KB Output is correct
2 Correct 2 ms 388 KB Output is correct
3 Correct 9 ms 632 KB Output is correct
4 Correct 9 ms 604 KB Output is correct
5 Correct 14 ms 888 KB Output is correct
6 Correct 16 ms 760 KB Output is correct
7 Correct 33 ms 632 KB Output is correct
8 Correct 65 ms 888 KB Output is correct
9 Correct 63 ms 760 KB Output is correct
10 Correct 28 ms 888 KB Output is correct
11 Correct 24 ms 760 KB Output is correct
12 Correct 24 ms 760 KB Output is correct
13 Correct 28 ms 888 KB Output is correct
14 Correct 72 ms 760 KB Output is correct
15 Correct 9 ms 644 KB Output is correct
16 Correct 12 ms 708 KB Output is correct
17 Correct 63 ms 632 KB Output is correct
18 Correct 43 ms 888 KB Output is correct
19 Correct 122 ms 760 KB Output is correct
20 Correct 69 ms 732 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 906 ms 5028 KB Output is correct
2 Correct 928 ms 4896 KB Output is correct
3 Correct 931 ms 4792 KB Output is correct
4 Correct 900 ms 5352 KB Output is correct
5 Correct 226 ms 7968 KB Output is correct
6 Correct 161 ms 7956 KB Output is correct
7 Correct 931 ms 5052 KB Output is correct
8 Correct 943 ms 4896 KB Output is correct
9 Correct 926 ms 4920 KB Output is correct
10 Correct 1084 ms 2860 KB Output is correct
11 Correct 1071 ms 3484 KB Output is correct
12 Correct 684 ms 6220 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 267 ms 2752 KB Output is correct
2 Correct 242 ms 3140 KB Output is correct
3 Correct 331 ms 3092 KB Output is correct
4 Correct 246 ms 2960 KB Output is correct
5 Correct 422 ms 6544 KB Output is correct
6 Correct 537 ms 5668 KB Output is correct
7 Correct 503 ms 6032 KB Output is correct
8 Correct 171 ms 7772 KB Output is correct
9 Correct 608 ms 7852 KB Output is correct
10 Correct 1782 ms 6336 KB Output is correct
11 Correct 1394 ms 2940 KB Output is correct
12 Correct 1680 ms 6412 KB Output is correct
13 Correct 1959 ms 6228 KB Output is correct
14 Correct 2611 ms 4000 KB Output is correct
15 Correct 2586 ms 3748 KB Output is correct
16 Correct 2520 ms 3168 KB Output is correct
17 Correct 620 ms 5060 KB Output is correct
18 Correct 629 ms 4868 KB Output is correct
19 Correct 650 ms 5040 KB Output is correct
20 Correct 645 ms 4996 KB Output is correct
21 Correct 1796 ms 3060 KB Output is correct
22 Correct 2850 ms 4528 KB Output is correct
23 Correct 2455 ms 6080 KB Output is correct
24 Correct 2527 ms 4684 KB Output is correct
25 Correct 275 ms 2928 KB Output is correct
26 Correct 250 ms 2792 KB Output is correct
27 Correct 270 ms 2868 KB Output is correct
28 Correct 250 ms 2972 KB Output is correct
29 Correct 2201 ms 6360 KB Output is correct
30 Correct 2205 ms 6248 KB Output is correct
31 Correct 622 ms 7956 KB Output is correct
32 Correct 1853 ms 6480 KB Output is correct
33 Correct 1938 ms 6436 KB Output is correct
34 Correct 2562 ms 3868 KB Output is correct
35 Correct 2318 ms 5128 KB Output is correct
36 Correct 1810 ms 6304 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 236 ms 2940 KB Output is correct
2 Correct 241 ms 3004 KB Output is correct
3 Correct 246 ms 3004 KB Output is correct
4 Correct 268 ms 3048 KB Output is correct
5 Correct 574 ms 7056 KB Output is correct
6 Correct 1093 ms 2596 KB Output is correct
7 Correct 457 ms 7192 KB Output is correct
8 Correct 1211 ms 3272 KB Output is correct
9 Correct 2756 ms 4672 KB Output is correct
10 Correct 1583 ms 6668 KB Output is correct
11 Correct 2517 ms 3216 KB Output is correct
12 Correct 363 ms 8340 KB Output is correct
13 Correct 2077 ms 6412 KB Output is correct
14 Correct 2705 ms 4276 KB Output is correct
15 Correct 662 ms 7936 KB Output is correct
16 Correct 1917 ms 6464 KB Output is correct
17 Correct 922 ms 5088 KB Output is correct
18 Correct 925 ms 5156 KB Output is correct
19 Correct 929 ms 5024 KB Output is correct
20 Correct 936 ms 4996 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 504 KB Output is correct
2 Correct 2 ms 388 KB Output is correct
3 Correct 9 ms 632 KB Output is correct
4 Correct 9 ms 604 KB Output is correct
5 Correct 14 ms 888 KB Output is correct
6 Correct 16 ms 760 KB Output is correct
7 Correct 33 ms 632 KB Output is correct
8 Correct 65 ms 888 KB Output is correct
9 Correct 63 ms 760 KB Output is correct
10 Correct 28 ms 888 KB Output is correct
11 Correct 24 ms 760 KB Output is correct
12 Correct 24 ms 760 KB Output is correct
13 Correct 28 ms 888 KB Output is correct
14 Correct 72 ms 760 KB Output is correct
15 Correct 9 ms 644 KB Output is correct
16 Correct 12 ms 708 KB Output is correct
17 Correct 63 ms 632 KB Output is correct
18 Correct 43 ms 888 KB Output is correct
19 Correct 122 ms 760 KB Output is correct
20 Correct 69 ms 732 KB Output is correct
21 Correct 906 ms 5028 KB Output is correct
22 Correct 928 ms 4896 KB Output is correct
23 Correct 931 ms 4792 KB Output is correct
24 Correct 900 ms 5352 KB Output is correct
25 Correct 226 ms 7968 KB Output is correct
26 Correct 161 ms 7956 KB Output is correct
27 Correct 931 ms 5052 KB Output is correct
28 Correct 943 ms 4896 KB Output is correct
29 Correct 926 ms 4920 KB Output is correct
30 Correct 1084 ms 2860 KB Output is correct
31 Correct 1071 ms 3484 KB Output is correct
32 Correct 684 ms 6220 KB Output is correct
33 Correct 236 ms 2940 KB Output is correct
34 Correct 241 ms 3004 KB Output is correct
35 Correct 246 ms 3004 KB Output is correct
36 Correct 268 ms 3048 KB Output is correct
37 Correct 574 ms 7056 KB Output is correct
38 Correct 1093 ms 2596 KB Output is correct
39 Correct 457 ms 7192 KB Output is correct
40 Correct 1211 ms 3272 KB Output is correct
41 Correct 2756 ms 4672 KB Output is correct
42 Correct 1583 ms 6668 KB Output is correct
43 Correct 2517 ms 3216 KB Output is correct
44 Correct 363 ms 8340 KB Output is correct
45 Correct 2077 ms 6412 KB Output is correct
46 Correct 2705 ms 4276 KB Output is correct
47 Correct 662 ms 7936 KB Output is correct
48 Correct 1917 ms 6464 KB Output is correct
49 Correct 922 ms 5088 KB Output is correct
50 Correct 925 ms 5156 KB Output is correct
51 Correct 929 ms 5024 KB Output is correct
52 Correct 936 ms 4996 KB Output is correct
53 Correct 268 ms 3048 KB Output is correct
54 Correct 276 ms 3004 KB Output is correct
55 Correct 311 ms 2976 KB Output is correct
56 Correct 247 ms 2992 KB Output is correct
57 Correct 1083 ms 3828 KB Output is correct
58 Correct 1029 ms 2652 KB Output is correct
59 Correct 792 ms 6448 KB Output is correct
60 Correct 992 ms 2832 KB Output is correct
61 Correct 2165 ms 6992 KB Output is correct
62 Correct 879 ms 8468 KB Output is correct
63 Correct 487 ms 8888 KB Output is correct
64 Correct 837 ms 8608 KB Output is correct
65 Correct 2686 ms 4260 KB Output is correct
66 Correct 2628 ms 3936 KB Output is correct
67 Correct 1884 ms 7220 KB Output is correct
68 Correct 2457 ms 6216 KB Output is correct
69 Correct 924 ms 5896 KB Output is correct
70 Correct 917 ms 5792 KB Output is correct
71 Correct 989 ms 5740 KB Output is correct
72 Correct 994 ms 5908 KB Output is correct
73 Correct 2900 ms 4580 KB Output is correct
74 Correct 2540 ms 6152 KB Output is correct
75 Correct 198 ms 9076 KB Output is correct
76 Correct 439 ms 9024 KB Output is correct
77 Correct 249 ms 3812 KB Output is correct
78 Correct 240 ms 3640 KB Output is correct
79 Correct 258 ms 3744 KB Output is correct
80 Correct 245 ms 3780 KB Output is correct
81 Correct 2609 ms 5812 KB Output is correct
82 Correct 2806 ms 4640 KB Output is correct
83 Correct 2477 ms 3944 KB Output is correct
84 Correct 2578 ms 5828 KB Output is correct
85 Correct 1890 ms 7092 KB Output is correct
86 Correct 1779 ms 7412 KB Output is correct
87 Correct 2684 ms 5704 KB Output is correct
88 Correct 2411 ms 4164 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 504 KB Output is correct
2 Correct 2 ms 388 KB Output is correct
3 Correct 9 ms 632 KB Output is correct
4 Correct 9 ms 604 KB Output is correct
5 Correct 14 ms 888 KB Output is correct
6 Correct 16 ms 760 KB Output is correct
7 Correct 33 ms 632 KB Output is correct
8 Correct 65 ms 888 KB Output is correct
9 Correct 63 ms 760 KB Output is correct
10 Correct 28 ms 888 KB Output is correct
11 Correct 24 ms 760 KB Output is correct
12 Correct 24 ms 760 KB Output is correct
13 Correct 28 ms 888 KB Output is correct
14 Correct 72 ms 760 KB Output is correct
15 Correct 9 ms 644 KB Output is correct
16 Correct 12 ms 708 KB Output is correct
17 Correct 63 ms 632 KB Output is correct
18 Correct 43 ms 888 KB Output is correct
19 Correct 122 ms 760 KB Output is correct
20 Correct 69 ms 732 KB Output is correct
21 Correct 906 ms 5028 KB Output is correct
22 Correct 928 ms 4896 KB Output is correct
23 Correct 931 ms 4792 KB Output is correct
24 Correct 900 ms 5352 KB Output is correct
25 Correct 226 ms 7968 KB Output is correct
26 Correct 161 ms 7956 KB Output is correct
27 Correct 931 ms 5052 KB Output is correct
28 Correct 943 ms 4896 KB Output is correct
29 Correct 926 ms 4920 KB Output is correct
30 Correct 1084 ms 2860 KB Output is correct
31 Correct 1071 ms 3484 KB Output is correct
32 Correct 684 ms 6220 KB Output is correct
33 Correct 267 ms 2752 KB Output is correct
34 Correct 242 ms 3140 KB Output is correct
35 Correct 331 ms 3092 KB Output is correct
36 Correct 246 ms 2960 KB Output is correct
37 Correct 422 ms 6544 KB Output is correct
38 Correct 537 ms 5668 KB Output is correct
39 Correct 503 ms 6032 KB Output is correct
40 Correct 171 ms 7772 KB Output is correct
41 Correct 608 ms 7852 KB Output is correct
42 Correct 1782 ms 6336 KB Output is correct
43 Correct 1394 ms 2940 KB Output is correct
44 Correct 1680 ms 6412 KB Output is correct
45 Correct 1959 ms 6228 KB Output is correct
46 Correct 2611 ms 4000 KB Output is correct
47 Correct 2586 ms 3748 KB Output is correct
48 Correct 2520 ms 3168 KB Output is correct
49 Correct 620 ms 5060 KB Output is correct
50 Correct 629 ms 4868 KB Output is correct
51 Correct 650 ms 5040 KB Output is correct
52 Correct 645 ms 4996 KB Output is correct
53 Correct 1796 ms 3060 KB Output is correct
54 Correct 2850 ms 4528 KB Output is correct
55 Correct 2455 ms 6080 KB Output is correct
56 Correct 2527 ms 4684 KB Output is correct
57 Correct 275 ms 2928 KB Output is correct
58 Correct 250 ms 2792 KB Output is correct
59 Correct 270 ms 2868 KB Output is correct
60 Correct 250 ms 2972 KB Output is correct
61 Correct 2201 ms 6360 KB Output is correct
62 Correct 2205 ms 6248 KB Output is correct
63 Correct 622 ms 7956 KB Output is correct
64 Correct 1853 ms 6480 KB Output is correct
65 Correct 1938 ms 6436 KB Output is correct
66 Correct 2562 ms 3868 KB Output is correct
67 Correct 2318 ms 5128 KB Output is correct
68 Correct 1810 ms 6304 KB Output is correct
69 Correct 236 ms 2940 KB Output is correct
70 Correct 241 ms 3004 KB Output is correct
71 Correct 246 ms 3004 KB Output is correct
72 Correct 268 ms 3048 KB Output is correct
73 Correct 574 ms 7056 KB Output is correct
74 Correct 1093 ms 2596 KB Output is correct
75 Correct 457 ms 7192 KB Output is correct
76 Correct 1211 ms 3272 KB Output is correct
77 Correct 2756 ms 4672 KB Output is correct
78 Correct 1583 ms 6668 KB Output is correct
79 Correct 2517 ms 3216 KB Output is correct
80 Correct 363 ms 8340 KB Output is correct
81 Correct 2077 ms 6412 KB Output is correct
82 Correct 2705 ms 4276 KB Output is correct
83 Correct 662 ms 7936 KB Output is correct
84 Correct 1917 ms 6464 KB Output is correct
85 Correct 922 ms 5088 KB Output is correct
86 Correct 925 ms 5156 KB Output is correct
87 Correct 929 ms 5024 KB Output is correct
88 Correct 936 ms 4996 KB Output is correct
89 Correct 268 ms 3048 KB Output is correct
90 Correct 276 ms 3004 KB Output is correct
91 Correct 311 ms 2976 KB Output is correct
92 Correct 247 ms 2992 KB Output is correct
93 Correct 1083 ms 3828 KB Output is correct
94 Correct 1029 ms 2652 KB Output is correct
95 Correct 792 ms 6448 KB Output is correct
96 Correct 992 ms 2832 KB Output is correct
97 Correct 2165 ms 6992 KB Output is correct
98 Correct 879 ms 8468 KB Output is correct
99 Correct 487 ms 8888 KB Output is correct
100 Correct 837 ms 8608 KB Output is correct
101 Correct 2686 ms 4260 KB Output is correct
102 Correct 2628 ms 3936 KB Output is correct
103 Correct 1884 ms 7220 KB Output is correct
104 Correct 2457 ms 6216 KB Output is correct
105 Correct 924 ms 5896 KB Output is correct
106 Correct 917 ms 5792 KB Output is correct
107 Correct 989 ms 5740 KB Output is correct
108 Correct 994 ms 5908 KB Output is correct
109 Correct 2900 ms 4580 KB Output is correct
110 Correct 2540 ms 6152 KB Output is correct
111 Correct 198 ms 9076 KB Output is correct
112 Correct 439 ms 9024 KB Output is correct
113 Correct 249 ms 3812 KB Output is correct
114 Correct 240 ms 3640 KB Output is correct
115 Correct 258 ms 3744 KB Output is correct
116 Correct 245 ms 3780 KB Output is correct
117 Correct 2609 ms 5812 KB Output is correct
118 Correct 2806 ms 4640 KB Output is correct
119 Correct 2477 ms 3944 KB Output is correct
120 Correct 2578 ms 5828 KB Output is correct
121 Correct 1890 ms 7092 KB Output is correct
122 Correct 1779 ms 7412 KB Output is correct
123 Correct 2684 ms 5704 KB Output is correct
124 Correct 2411 ms 4164 KB Output is correct
125 Correct 709 ms 5924 KB Output is correct
126 Correct 720 ms 5964 KB Output is correct
127 Correct 813 ms 6040 KB Output is correct
128 Correct 725 ms 5992 KB Output is correct
129 Correct 692 ms 6048 KB Output is correct
130 Correct 757 ms 6060 KB Output is correct
131 Correct 2460 ms 5140 KB Output is correct
132 Correct 2634 ms 9324 KB Output is correct
133 Runtime error 115 ms 20136 KB Execution killed with signal 11 (could be triggered by violating memory limits)
134 Halted 0 ms 0 KB -