Submission #50904

# Submission time Handle Problem Language Result Execution time Memory
50904 2018-06-14T15:48:08 Z Nicksechko Segments (IZhO18_segments) C++14
100 / 100
2613 ms 172032 KB
#ifndef LOCAL
#pragma GCC optimize "-O3"
#endif
#include <bits/stdc++.h>

typedef long long ll;
typedef long long llong;
typedef long double ld;
typedef unsigned long long ull;

using namespace std;
 
/*
ll pw(ll a, ll b) {
	ll ans = 1; while (b) {
		while (!(b & 1)) b >>= 1, a = (a * a) % MOD;
		ans = (ans * a) % MOD, --b;
	} return ans;
}
*/

const ll INF = 1e10;

const int MAXN = 210000;

const int SQ = 500;
const int MX = SQ * 2;
const int BL = MAXN / SQ + 2;

const int UPD = SQ;

struct seg {
	ll l, r, k;
	int gl, gr, gk;
	int ds;
};

seg arr[MAXN];
int cid;
vector<int> gkk[BL];
vector<int> gll[BL];
vector<int> grr[BL];
ll sgl[BL];
ll sgr[BL];
ll sgk[BL];

int gks[BL];
int gls[BL];
int grs[BL];

int glr[BL][BL];
int glk[BL][BL];
int grl[BL][BL];
int grk[BL][BL];
int gkl[BL][BL];
int gkr[BL][BL];

int n, t;

int bl;

bool cmpl(int a, int b) {
	return arr[a].l > arr[b].l;
}
bool cmpr(int a, int b) {
	return arr[a].r < arr[b].r;
}
bool cmpk(int a, int b) {
	return arr[a].k > arr[b].k;
}

int sum = 0;

void rebuild() {
	int start = clock();
	int cnt = 0;
	vector<int> vv;
	for (int i = 0; i < cid; ++i)
		if (!arr[i].ds)
			++cnt, vv.push_back(i);
	for (int i = 0; i < bl; ++i) {
		gkk[i].clear(), gll[i].clear(), grr[i].clear();
		sgk[i] = sgl[i] = sgr[i] = INF;
		gks[i] = gls[i] = grs[i] = 0;
		for (int j = 0; j < bl; ++j)
			glr[i][j] = glk[i][j] = grl[i][j] = grk[i][j] = gkl[i][j] = gkr[i][j] = 0;
	}
	bl = (cnt + SQ - 1) / SQ;
	for (int i = 0; i < bl; ++i) {
		sgk[i] = sgl[i] = sgr[i] = INF;
	}
	sort(vv.begin(), vv.end(), cmpl);
	for (int i = 0; i < vv.size(); ++i) {
		arr[vv[i]].gl = i / SQ;
	}
	sort(vv.begin(), vv.end(), cmpr);
	for (int i = 0; i < vv.size(); ++i) {
		arr[vv[i]].gr = i / SQ;
	}
	sort(vv.begin(), vv.end(), cmpk);
	for (int i = 0; i < vv.size(); ++i) {
		arr[vv[i]].gk = i / SQ;
	}
	for (int i = 0; i < cid; ++i) {
		if (arr[i].ds)
			continue;
		gll[arr[i].gl].push_back(i);
		grr[arr[i].gr].push_back(i);
		gkk[arr[i].gk].push_back(i);
		++gls[arr[i].gl];
		++grs[arr[i].gr];
		++gks[arr[i].gk];
		sgl[arr[i].gl] = min(sgl[arr[i].gl], -arr[i].l);
		sgr[arr[i].gr] = min(sgr[arr[i].gr], arr[i].r);
		sgk[arr[i].gk] = min(sgk[arr[i].gk], -arr[i].k);
		int a = arr[i].gl;
		int b = arr[i].gr;
		int c = arr[i].gk;
		++glr[a][b], ++glk[a][c], ++grl[b][a], ++grk[b][c], ++gkl[c][a], ++gkr[c][b];
	}

	for (int i = 0; i < bl; ++i) {
		for (int j = 0; j < bl - 1; ++j) {
			glr[i][j + 1] += glr[i][j];
			glk[i][j + 1] += glk[i][j];
			grl[i][j + 1] += grl[i][j];
			grk[i][j + 1] += grk[i][j];
			gkl[i][j + 1] += gkl[i][j];
			gkr[i][j + 1] += gkr[i][j];
		}
	}

	sgk[0] = sgl[0] = sgr[0] = -INF;
	bl = max(1, bl);
	sum += clock() - start;
}

int main() {
	scanf("%d%d", &n, &t);
	int curans = 0;
	int fll = 1;
	for (int i = 0; i < n; ++i) {
		if (fll) {
			fll = 0;
			rebuild();
		}
		int tp;
		scanf("%d", &tp);
		if (tp == 1) {
			ll l, r;
			scanf("%lld%lld", &l, &r);
			l = l ^ (t * curans);
			r = r ^ (t * curans);
			if (l > r)
				swap(l, r);
			++r;
			ll k = r - l;
			arr[cid].l = l;
			arr[cid].r = r;
			arr[cid].k = r - l;
			int a = 0, b = 0, c = 0;
			while (a < bl && sgl[a] <= -l)
				++a;
			while (b < bl && sgr[b] <= r)
				++b;
			while (c < bl && sgk[c] <= -k)
				++c;
			a = max(0, a - 1), b = max(0, b - 1), c = max(0, c - 1);
			arr[cid].gl = a;
			arr[cid].gr = b;
			arr[cid].gk = c;
			++gls[a];
			++grs[b];
			++gks[c];
			gll[a].push_back(cid);
			grr[b].push_back(cid);
			gkk[c].push_back(cid);
			for (int i = b; i < bl; ++i)
				++glr[a][i];
			for (int i = c; i < bl; ++i)
				++glk[a][i];
			for (int i = a; i < bl; ++i)
				++grl[b][i];
			for (int i = c; i < bl; ++i)
				++grk[b][i];
			for (int i = a; i < bl; ++i)
				++gkl[c][i];
			for (int i = b; i < bl; ++i)
				++gkr[c][i];
			++cid;
		}
		else if (tp == 2) {
			int id;
			scanf("%d", &id);
			--id;
			arr[id].ds = 1;
			int a = arr[id].gl;
			int b = arr[id].gr;
			int c = arr[id].gk;
			--gls[a];
			--grs[b];
			--gks[c];
			for (int i = b; i < bl; ++i)
				--glr[a][i];
			for (int i = c; i < bl; ++i)
				--glk[a][i];
			for (int i = a; i < bl; ++i)
				--grl[b][i];
			for (int i = c; i < bl; ++i)
				--grk[b][i];
			for (int i = a; i < bl; ++i)
				--gkl[c][i];
			for (int i = b; i < bl; ++i)
				--gkr[c][i];
		}
		else {
			ll x, y, k;
			scanf("%lld%lld%lld", &x, &y, &k);
			x = (x ^ (t * curans));
			y = (y ^ (t * curans));
			if (x > y)
				swap(x, y);
			++y;
			if (y - x < k) {
				curans = 0;
				printf("0\n");
				continue;
			}
			int a = 0, b = 0, c = 0;
			int ans = 0;
			while (c < bl && sgk[c] <= -k)
				++c;
			while (b < bl && sgr[b] < x + k)
				++b;
			while (a < bl && sgl[a] < k - y)
				++a;
			--a;
			--b;
			--c;
			for (int i = 0; i < c; ++i) {
				ans += gks[i];
				if (a > 0)
					ans -= gkl[i][a - 1];
				if (b > 0)
					ans -= gkr[i][b - 1];
			}
			if (gkk[c].size() > MX)
				fll = 1;
			if (gll[a].size() > MX)
				fll = 1;
			if (grr[b].size() > MX)
				fll = 1;
			for (int id: gkk[c]) {
				if (arr[id].ds || arr[id].r < x + k || arr[id].l > y - k || arr[id].k < k)
					continue;
				++ans;
			}
			for (int id: gll[a]) {
				if (!arr[id].ds && arr[id].l > y - k && arr[id].gk < c)
					--ans;
			}
			if (b < bl) {
				for (int id: grr[b]) {
					if (!arr[id].ds && arr[id].r < x + k && arr[id].gk < c)
						--ans;
				}
			}
			printf("%d\n", ans);
			curans = ans;
		}
	}
	//cerr << ld(sum) / CLOCKS_PER_SEC << "\n";
	return 0;
}


Compilation message

segments.cpp: In function 'void rebuild()':
segments.cpp:93:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 0; i < vv.size(); ++i) {
                  ~~^~~~~~~~~~~
segments.cpp:97:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 0; i < vv.size(); ++i) {
                  ~~^~~~~~~~~~~
segments.cpp:101:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 0; i < vv.size(); ++i) {
                  ~~^~~~~~~~~~~
segments.cpp: In function 'int main()':
segments.cpp:139:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d", &n, &t);
  ~~~~~^~~~~~~~~~~~~~~~
segments.cpp:148:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d", &tp);
   ~~~~~^~~~~~~~~~~
segments.cpp:151:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%lld%lld", &l, &r);
    ~~~~~^~~~~~~~~~~~~~~~~~~~
segments.cpp:194:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%d", &id);
    ~~~~~^~~~~~~~~~~
segments.cpp:218:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%lld%lld%lld", &x, &y, &k);
    ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 10 ms 656 KB Output is correct
4 Correct 9 ms 656 KB Output is correct
5 Correct 16 ms 1144 KB Output is correct
6 Correct 23 ms 1324 KB Output is correct
7 Correct 39 ms 1324 KB Output is correct
8 Correct 17 ms 1552 KB Output is correct
9 Correct 17 ms 1616 KB Output is correct
10 Correct 12 ms 1980 KB Output is correct
11 Correct 37 ms 1980 KB Output is correct
12 Correct 33 ms 2040 KB Output is correct
13 Correct 10 ms 2320 KB Output is correct
14 Correct 19 ms 2320 KB Output is correct
15 Correct 12 ms 2320 KB Output is correct
16 Correct 13 ms 2388 KB Output is correct
17 Correct 26 ms 2492 KB Output is correct
18 Correct 10 ms 2872 KB Output is correct
19 Correct 29 ms 2872 KB Output is correct
20 Correct 22 ms 2872 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 849 ms 7312 KB Output is correct
2 Correct 833 ms 9904 KB Output is correct
3 Correct 847 ms 12604 KB Output is correct
4 Correct 835 ms 15628 KB Output is correct
5 Correct 244 ms 21448 KB Output is correct
6 Correct 232 ms 23740 KB Output is correct
7 Correct 867 ms 23740 KB Output is correct
8 Correct 837 ms 25300 KB Output is correct
9 Correct 855 ms 27912 KB Output is correct
10 Correct 1117 ms 28412 KB Output is correct
11 Correct 1068 ms 31968 KB Output is correct
12 Correct 574 ms 37812 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 290 ms 37812 KB Output is correct
2 Correct 186 ms 37812 KB Output is correct
3 Correct 453 ms 37812 KB Output is correct
4 Correct 186 ms 38564 KB Output is correct
5 Correct 464 ms 45736 KB Output is correct
6 Correct 503 ms 47132 KB Output is correct
7 Correct 535 ms 49840 KB Output is correct
8 Correct 179 ms 54720 KB Output is correct
9 Correct 166 ms 57548 KB Output is correct
10 Correct 327 ms 57548 KB Output is correct
11 Correct 568 ms 57548 KB Output is correct
12 Correct 303 ms 61572 KB Output is correct
13 Correct 317 ms 62960 KB Output is correct
14 Correct 500 ms 62960 KB Output is correct
15 Correct 619 ms 64340 KB Output is correct
16 Correct 607 ms 65432 KB Output is correct
17 Correct 745 ms 69284 KB Output is correct
18 Correct 822 ms 71628 KB Output is correct
19 Correct 793 ms 73872 KB Output is correct
20 Correct 862 ms 76276 KB Output is correct
21 Correct 710 ms 76276 KB Output is correct
22 Correct 541 ms 80008 KB Output is correct
23 Correct 452 ms 83140 KB Output is correct
24 Correct 460 ms 84288 KB Output is correct
25 Correct 330 ms 84288 KB Output is correct
26 Correct 215 ms 84832 KB Output is correct
27 Correct 317 ms 86764 KB Output is correct
28 Correct 234 ms 88496 KB Output is correct
29 Correct 383 ms 94952 KB Output is correct
30 Correct 408 ms 97112 KB Output is correct
31 Correct 227 ms 102100 KB Output is correct
32 Correct 339 ms 102416 KB Output is correct
33 Correct 375 ms 103824 KB Output is correct
34 Correct 569 ms 103824 KB Output is correct
35 Correct 418 ms 106880 KB Output is correct
36 Correct 283 ms 110144 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 227 ms 110144 KB Output is correct
2 Correct 215 ms 110144 KB Output is correct
3 Correct 193 ms 110144 KB Output is correct
4 Correct 242 ms 111056 KB Output is correct
5 Correct 453 ms 118708 KB Output is correct
6 Correct 1261 ms 118708 KB Output is correct
7 Correct 443 ms 124568 KB Output is correct
8 Correct 1159 ms 124568 KB Output is correct
9 Correct 614 ms 126860 KB Output is correct
10 Correct 272 ms 132264 KB Output is correct
11 Correct 814 ms 132264 KB Output is correct
12 Correct 167 ms 137608 KB Output is correct
13 Correct 425 ms 137608 KB Output is correct
14 Correct 769 ms 137608 KB Output is correct
15 Correct 228 ms 144396 KB Output is correct
16 Correct 391 ms 144424 KB Output is correct
17 Correct 889 ms 145016 KB Output is correct
18 Correct 876 ms 147604 KB Output is correct
19 Correct 881 ms 150296 KB Output is correct
20 Correct 948 ms 153008 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 10 ms 656 KB Output is correct
4 Correct 9 ms 656 KB Output is correct
5 Correct 16 ms 1144 KB Output is correct
6 Correct 23 ms 1324 KB Output is correct
7 Correct 39 ms 1324 KB Output is correct
8 Correct 17 ms 1552 KB Output is correct
9 Correct 17 ms 1616 KB Output is correct
10 Correct 12 ms 1980 KB Output is correct
11 Correct 37 ms 1980 KB Output is correct
12 Correct 33 ms 2040 KB Output is correct
13 Correct 10 ms 2320 KB Output is correct
14 Correct 19 ms 2320 KB Output is correct
15 Correct 12 ms 2320 KB Output is correct
16 Correct 13 ms 2388 KB Output is correct
17 Correct 26 ms 2492 KB Output is correct
18 Correct 10 ms 2872 KB Output is correct
19 Correct 29 ms 2872 KB Output is correct
20 Correct 22 ms 2872 KB Output is correct
21 Correct 849 ms 7312 KB Output is correct
22 Correct 833 ms 9904 KB Output is correct
23 Correct 847 ms 12604 KB Output is correct
24 Correct 835 ms 15628 KB Output is correct
25 Correct 244 ms 21448 KB Output is correct
26 Correct 232 ms 23740 KB Output is correct
27 Correct 867 ms 23740 KB Output is correct
28 Correct 837 ms 25300 KB Output is correct
29 Correct 855 ms 27912 KB Output is correct
30 Correct 1117 ms 28412 KB Output is correct
31 Correct 1068 ms 31968 KB Output is correct
32 Correct 574 ms 37812 KB Output is correct
33 Correct 227 ms 110144 KB Output is correct
34 Correct 215 ms 110144 KB Output is correct
35 Correct 193 ms 110144 KB Output is correct
36 Correct 242 ms 111056 KB Output is correct
37 Correct 453 ms 118708 KB Output is correct
38 Correct 1261 ms 118708 KB Output is correct
39 Correct 443 ms 124568 KB Output is correct
40 Correct 1159 ms 124568 KB Output is correct
41 Correct 614 ms 126860 KB Output is correct
42 Correct 272 ms 132264 KB Output is correct
43 Correct 814 ms 132264 KB Output is correct
44 Correct 167 ms 137608 KB Output is correct
45 Correct 425 ms 137608 KB Output is correct
46 Correct 769 ms 137608 KB Output is correct
47 Correct 228 ms 144396 KB Output is correct
48 Correct 391 ms 144424 KB Output is correct
49 Correct 889 ms 145016 KB Output is correct
50 Correct 876 ms 147604 KB Output is correct
51 Correct 881 ms 150296 KB Output is correct
52 Correct 948 ms 153008 KB Output is correct
53 Correct 233 ms 153008 KB Output is correct
54 Correct 247 ms 154092 KB Output is correct
55 Correct 200 ms 156108 KB Output is correct
56 Correct 217 ms 157140 KB Output is correct
57 Correct 1052 ms 159212 KB Output is correct
58 Correct 1180 ms 159224 KB Output is correct
59 Correct 683 ms 163696 KB Output is correct
60 Correct 1234 ms 163696 KB Output is correct
61 Correct 450 ms 165188 KB Output is correct
62 Correct 208 ms 167516 KB Output is correct
63 Correct 206 ms 168848 KB Output is correct
64 Correct 231 ms 169564 KB Output is correct
65 Correct 772 ms 169564 KB Output is correct
66 Correct 808 ms 169564 KB Output is correct
67 Correct 337 ms 169564 KB Output is correct
68 Correct 543 ms 169564 KB Output is correct
69 Correct 933 ms 169564 KB Output is correct
70 Correct 860 ms 169564 KB Output is correct
71 Correct 940 ms 169564 KB Output is correct
72 Correct 846 ms 169564 KB Output is correct
73 Correct 741 ms 169564 KB Output is correct
74 Correct 530 ms 169564 KB Output is correct
75 Correct 155 ms 169828 KB Output is correct
76 Correct 165 ms 169828 KB Output is correct
77 Correct 247 ms 169828 KB Output is correct
78 Correct 203 ms 169828 KB Output is correct
79 Correct 238 ms 169828 KB Output is correct
80 Correct 222 ms 169828 KB Output is correct
81 Correct 487 ms 169828 KB Output is correct
82 Correct 697 ms 169828 KB Output is correct
83 Correct 856 ms 169828 KB Output is correct
84 Correct 497 ms 169828 KB Output is correct
85 Correct 331 ms 169828 KB Output is correct
86 Correct 337 ms 169828 KB Output is correct
87 Correct 607 ms 169828 KB Output is correct
88 Correct 786 ms 169828 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 10 ms 656 KB Output is correct
4 Correct 9 ms 656 KB Output is correct
5 Correct 16 ms 1144 KB Output is correct
6 Correct 23 ms 1324 KB Output is correct
7 Correct 39 ms 1324 KB Output is correct
8 Correct 17 ms 1552 KB Output is correct
9 Correct 17 ms 1616 KB Output is correct
10 Correct 12 ms 1980 KB Output is correct
11 Correct 37 ms 1980 KB Output is correct
12 Correct 33 ms 2040 KB Output is correct
13 Correct 10 ms 2320 KB Output is correct
14 Correct 19 ms 2320 KB Output is correct
15 Correct 12 ms 2320 KB Output is correct
16 Correct 13 ms 2388 KB Output is correct
17 Correct 26 ms 2492 KB Output is correct
18 Correct 10 ms 2872 KB Output is correct
19 Correct 29 ms 2872 KB Output is correct
20 Correct 22 ms 2872 KB Output is correct
21 Correct 849 ms 7312 KB Output is correct
22 Correct 833 ms 9904 KB Output is correct
23 Correct 847 ms 12604 KB Output is correct
24 Correct 835 ms 15628 KB Output is correct
25 Correct 244 ms 21448 KB Output is correct
26 Correct 232 ms 23740 KB Output is correct
27 Correct 867 ms 23740 KB Output is correct
28 Correct 837 ms 25300 KB Output is correct
29 Correct 855 ms 27912 KB Output is correct
30 Correct 1117 ms 28412 KB Output is correct
31 Correct 1068 ms 31968 KB Output is correct
32 Correct 574 ms 37812 KB Output is correct
33 Correct 290 ms 37812 KB Output is correct
34 Correct 186 ms 37812 KB Output is correct
35 Correct 453 ms 37812 KB Output is correct
36 Correct 186 ms 38564 KB Output is correct
37 Correct 464 ms 45736 KB Output is correct
38 Correct 503 ms 47132 KB Output is correct
39 Correct 535 ms 49840 KB Output is correct
40 Correct 179 ms 54720 KB Output is correct
41 Correct 166 ms 57548 KB Output is correct
42 Correct 327 ms 57548 KB Output is correct
43 Correct 568 ms 57548 KB Output is correct
44 Correct 303 ms 61572 KB Output is correct
45 Correct 317 ms 62960 KB Output is correct
46 Correct 500 ms 62960 KB Output is correct
47 Correct 619 ms 64340 KB Output is correct
48 Correct 607 ms 65432 KB Output is correct
49 Correct 745 ms 69284 KB Output is correct
50 Correct 822 ms 71628 KB Output is correct
51 Correct 793 ms 73872 KB Output is correct
52 Correct 862 ms 76276 KB Output is correct
53 Correct 710 ms 76276 KB Output is correct
54 Correct 541 ms 80008 KB Output is correct
55 Correct 452 ms 83140 KB Output is correct
56 Correct 460 ms 84288 KB Output is correct
57 Correct 330 ms 84288 KB Output is correct
58 Correct 215 ms 84832 KB Output is correct
59 Correct 317 ms 86764 KB Output is correct
60 Correct 234 ms 88496 KB Output is correct
61 Correct 383 ms 94952 KB Output is correct
62 Correct 408 ms 97112 KB Output is correct
63 Correct 227 ms 102100 KB Output is correct
64 Correct 339 ms 102416 KB Output is correct
65 Correct 375 ms 103824 KB Output is correct
66 Correct 569 ms 103824 KB Output is correct
67 Correct 418 ms 106880 KB Output is correct
68 Correct 283 ms 110144 KB Output is correct
69 Correct 227 ms 110144 KB Output is correct
70 Correct 215 ms 110144 KB Output is correct
71 Correct 193 ms 110144 KB Output is correct
72 Correct 242 ms 111056 KB Output is correct
73 Correct 453 ms 118708 KB Output is correct
74 Correct 1261 ms 118708 KB Output is correct
75 Correct 443 ms 124568 KB Output is correct
76 Correct 1159 ms 124568 KB Output is correct
77 Correct 614 ms 126860 KB Output is correct
78 Correct 272 ms 132264 KB Output is correct
79 Correct 814 ms 132264 KB Output is correct
80 Correct 167 ms 137608 KB Output is correct
81 Correct 425 ms 137608 KB Output is correct
82 Correct 769 ms 137608 KB Output is correct
83 Correct 228 ms 144396 KB Output is correct
84 Correct 391 ms 144424 KB Output is correct
85 Correct 889 ms 145016 KB Output is correct
86 Correct 876 ms 147604 KB Output is correct
87 Correct 881 ms 150296 KB Output is correct
88 Correct 948 ms 153008 KB Output is correct
89 Correct 233 ms 153008 KB Output is correct
90 Correct 247 ms 154092 KB Output is correct
91 Correct 200 ms 156108 KB Output is correct
92 Correct 217 ms 157140 KB Output is correct
93 Correct 1052 ms 159212 KB Output is correct
94 Correct 1180 ms 159224 KB Output is correct
95 Correct 683 ms 163696 KB Output is correct
96 Correct 1234 ms 163696 KB Output is correct
97 Correct 450 ms 165188 KB Output is correct
98 Correct 208 ms 167516 KB Output is correct
99 Correct 206 ms 168848 KB Output is correct
100 Correct 231 ms 169564 KB Output is correct
101 Correct 772 ms 169564 KB Output is correct
102 Correct 808 ms 169564 KB Output is correct
103 Correct 337 ms 169564 KB Output is correct
104 Correct 543 ms 169564 KB Output is correct
105 Correct 933 ms 169564 KB Output is correct
106 Correct 860 ms 169564 KB Output is correct
107 Correct 940 ms 169564 KB Output is correct
108 Correct 846 ms 169564 KB Output is correct
109 Correct 741 ms 169564 KB Output is correct
110 Correct 530 ms 169564 KB Output is correct
111 Correct 155 ms 169828 KB Output is correct
112 Correct 165 ms 169828 KB Output is correct
113 Correct 247 ms 169828 KB Output is correct
114 Correct 203 ms 169828 KB Output is correct
115 Correct 238 ms 169828 KB Output is correct
116 Correct 222 ms 169828 KB Output is correct
117 Correct 487 ms 169828 KB Output is correct
118 Correct 697 ms 169828 KB Output is correct
119 Correct 856 ms 169828 KB Output is correct
120 Correct 497 ms 169828 KB Output is correct
121 Correct 331 ms 169828 KB Output is correct
122 Correct 337 ms 169828 KB Output is correct
123 Correct 607 ms 169828 KB Output is correct
124 Correct 786 ms 169828 KB Output is correct
125 Correct 533 ms 169828 KB Output is correct
126 Correct 537 ms 169828 KB Output is correct
127 Correct 789 ms 169828 KB Output is correct
128 Correct 614 ms 169828 KB Output is correct
129 Correct 435 ms 169828 KB Output is correct
130 Correct 589 ms 169828 KB Output is correct
131 Correct 2613 ms 169828 KB Output is correct
132 Correct 2158 ms 169828 KB Output is correct
133 Correct 1618 ms 172032 KB Output is correct
134 Correct 2480 ms 172032 KB Output is correct
135 Correct 1743 ms 172032 KB Output is correct
136 Correct 2295 ms 172032 KB Output is correct
137 Correct 490 ms 172032 KB Output is correct
138 Correct 944 ms 172032 KB Output is correct
139 Correct 748 ms 172032 KB Output is correct
140 Correct 743 ms 172032 KB Output is correct
141 Correct 938 ms 172032 KB Output is correct
142 Correct 1641 ms 172032 KB Output is correct
143 Correct 1531 ms 172032 KB Output is correct
144 Correct 1305 ms 172032 KB Output is correct
145 Correct 554 ms 172032 KB Output is correct
146 Correct 1382 ms 172032 KB Output is correct
147 Correct 1504 ms 172032 KB Output is correct
148 Correct 1692 ms 172032 KB Output is correct
149 Correct 1779 ms 172032 KB Output is correct
150 Correct 1837 ms 172032 KB Output is correct
151 Correct 2052 ms 172032 KB Output is correct
152 Correct 1886 ms 172032 KB Output is correct
153 Correct 1977 ms 172032 KB Output is correct
154 Correct 2416 ms 172032 KB Output is correct
155 Correct 1816 ms 172032 KB Output is correct
156 Correct 1534 ms 172032 KB Output is correct
157 Correct 631 ms 172032 KB Output is correct
158 Correct 637 ms 172032 KB Output is correct
159 Correct 1134 ms 172032 KB Output is correct
160 Correct 1386 ms 172032 KB Output is correct
161 Correct 715 ms 172032 KB Output is correct
162 Correct 743 ms 172032 KB Output is correct
163 Correct 750 ms 172032 KB Output is correct
164 Correct 951 ms 172032 KB Output is correct
165 Correct 714 ms 172032 KB Output is correct
166 Correct 566 ms 172032 KB Output is correct
167 Correct 475 ms 172032 KB Output is correct
168 Correct 410 ms 172032 KB Output is correct
169 Correct 551 ms 172032 KB Output is correct
170 Correct 771 ms 172032 KB Output is correct
171 Correct 799 ms 172032 KB Output is correct
172 Correct 1493 ms 172032 KB Output is correct
173 Correct 491 ms 172032 KB Output is correct
174 Correct 1427 ms 172032 KB Output is correct
175 Correct 807 ms 172032 KB Output is correct
176 Correct 1613 ms 172032 KB Output is correct
177 Correct 981 ms 172032 KB Output is correct
178 Correct 1049 ms 172032 KB Output is correct