Submission #827075

# Submission time Handle Problem Language Result Execution time Memory
827075 2023-08-16T08:34:56 Z ymm Fountain Parks (IOI21_parks) C++17
70 / 100
3053 ms 78192 KB
#include "parks.h"
#include <bits/stdc++.h>
#define Loop(x,l,r) for (ll x = (l); x < (r); ++x)
typedef long long ll;
typedef std::pair<int,int> pii;
using namespace std;

const int N = 200'010;

namespace dsu {
	int par[N];
	void init(int n) { memset(par, -1, sizeof(*par)*n); }
	int rt(int v) { return par[v] == -1? v: (par[v] = rt(par[v])); }
	bool unite(int v, int u) {
		v = rt(v);
		u = rt(u);
		if (v == u)
			return 0;
		par[u] = v;
		return 1;
	}
}

map<pii,int> pts;
vector<pii> edge;
vector<int> X, Y;
int n;

int get_pnt(int x, int y)
{
	auto it = pts.find(pii(x, y));
	return it == pts.end()? -1: it->second;
}

namespace matching {
	int match[3*N];
	int par[3*N];
	vector<int> A[3*N];
	vector<pii> chairs;

	tuple<int,int,int,int> get_chair(int p1, int p2)
	{
		int x1 = X[p1], y1 = Y[p1], x2 = X[p2], y2 = Y[p2];
		if (x1 == x2)
			return {x1-1, (y1+y2)/2, x1+1, (y1+y2)/2};
		else
			return {(x1+x2)/2, y1-1, (x1+x2)/2, y1+1};
	}

	bool bfs(int s)
	{
		vector<int> q = {s}, q2;
		par[s] = -2;
		int vv;
		Loop (i,0,q.size()) {
			int v = q[i];
			//cerr << "bfs " << v << '\n';
			for (int u : A[v]) {
				if (par[u] != -1)
					continue;
				par[u] = v;
				q2.push_back(u);
				if (match[u] == -1) {
					vv = u;
					goto found;
				}
				int u2 = match[u];
				par[u2] = u;
				q.push_back(u2);
			}
		}
		return 0;
	found:
		while (vv != -2) {
			match[vv] = par[vv];
			match[par[vv]] = vv;
			vv = par[par[vv]];
		}
		for (int x : q2)
			par[x] = -1;
		return 1;
	}

	vector<pii> get_match(vector<pii> e) {
		int m = e.size();
		chairs.clear();
		Loop (i,0,m) {
			auto [p1, p2] = e[i];
			auto [x1, y1, x2, y2] = get_chair(p1, p2);
			chairs.emplace_back(x1, y1);
			chairs.emplace_back(x2, y2);
		}
		sort(chairs.begin(), chairs.end());
		chairs.resize(unique(chairs.begin(), chairs.end()) - chairs.begin());
		//for (auto [x, y] : chairs)
		//	cerr << x << ' ' << y << '\n';
		Loop (i,0,m+chairs.size()) {
			A[i].clear();
			match[i] = -1;
			par[i] = -1;
		}
		Loop (i,0,m) {
			auto [p1, p2] = e[i];
			auto [x1, y1, x2, y2] = get_chair(p1, p2);
			int c1 = lower_bound(chairs.begin(), chairs.end(), pii(x1, y1)) - chairs.begin();
			int c2 = lower_bound(chairs.begin(), chairs.end(), pii(x2, y2)) - chairs.begin();
			A[i].push_back(m+c1);
			A[i].push_back(m+c2);
			A[m+c1].push_back(i);
			A[m+c2].push_back(i);
		}
		Loop (i,0,m) {
			//cerr << "try " << i << '\n';
			if (!bfs(i))
				return {};
			//Loop (i,0,m+chairs.size())
			//	cerr << match[i] << ' ';
			//cerr << '\n';
		}
		//cerr << "all good!\n";
		vector<pii> ans;
		Loop (i,0,m) {
			int c = match[i]-m;
			ans.emplace_back(chairs[c].first, chairs[c].second);
		}
		return ans;
	}
}

void make_edges()
{
	Loop (i,0,n) {
		int x = X[i];
		int y = Y[i];
		int p1 = get_pnt(x, y+2);
		if (p1 != -1)
			edge.push_back({i, p1});
	}
	Loop (i,0,n) {
		int x = X[i];
		int y = Y[i];
		int p1 = get_pnt(x+2, y);
		if (p1 != -1)
			edge.push_back({i, p1});
	}
}

int construct_roads(std::vector<int> _X, std::vector<int> _Y) {
	X = _X; Y = _Y;
	n = X.size();
	if (n == 1) {
		build({}, {}, {}, {});
		return 1;
	}
	Loop (i,0,n)
		pts[pii(X[i], Y[i])] = i;
	make_edges();
	//for (auto [x, y] : edge)
	//	cerr << X[x] << ' ' << Y[x] << " - " << X[y] << ' ' << Y[y] << '\n';
	mt19937_64 rd(time(0));
	while (clock() < 3*CLOCKS_PER_SEC) {
		dsu::init(n);
		int cnt = 0;
		vector<pii> e;
		for (auto [x, y] : edge) {
			if (dsu::unite(x, y)) {
				e.emplace_back(x, y);
				++cnt;
			}
		}
		if (cnt != n-1)
			return 0;
		auto chairs = matching::get_match(e);
		//cerr << "found!\n";
		//for (auto [x, y] : chairs)
		//	cerr << x << ' ' << y << '\n';
		if (chairs.empty())
			continue;
		vector<int> ex, ey, cx, cy;
		Loop (i,0,n-1) {
			ex.push_back(e[i].first);
			ey.push_back(e[i].second);
			cx.push_back(chairs[i].first);
			cy.push_back(chairs[i].second);
		}
		build(ex, ey, cx, cy);
		return 1;
	}
	return 0;
}

Compilation message

parks.cpp: In function 'bool matching::bfs(int)':
parks.cpp:3:40: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    3 | #define Loop(x,l,r) for (ll x = (l); x < (r); ++x)
      |                                        ^
parks.cpp:55:3: note: in expansion of macro 'Loop'
   55 |   Loop (i,0,q.size()) {
      |   ^~~~
parks.cpp: In function 'std::vector<std::pair<int, int> > matching::get_match(std::vector<std::pair<int, int> >)':
parks.cpp:3:40: warning: comparison of integer expressions of different signedness: 'll' {aka 'long long int'} and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    3 | #define Loop(x,l,r) for (ll x = (l); x < (r); ++x)
      |                                        ^
parks.cpp:97:3: note: in expansion of macro 'Loop'
   97 |   Loop (i,0,m+chairs.size()) {
      |   ^~~~
# Verdict Execution time Memory Grader output
1 Correct 7 ms 14292 KB Output is correct
2 Correct 7 ms 14412 KB Output is correct
3 Correct 4 ms 14292 KB Output is correct
4 Correct 7 ms 14372 KB Output is correct
5 Correct 7 ms 14408 KB Output is correct
6 Correct 7 ms 14400 KB Output is correct
7 Correct 8 ms 14376 KB Output is correct
8 Correct 6 ms 14292 KB Output is correct
9 Correct 182 ms 45596 KB Output is correct
10 Correct 19 ms 17656 KB Output is correct
11 Correct 66 ms 31072 KB Output is correct
12 Correct 23 ms 19100 KB Output is correct
13 Correct 30 ms 19820 KB Output is correct
14 Correct 8 ms 14404 KB Output is correct
15 Correct 8 ms 14548 KB Output is correct
16 Correct 174 ms 45572 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 7 ms 14292 KB Output is correct
2 Correct 7 ms 14412 KB Output is correct
3 Correct 4 ms 14292 KB Output is correct
4 Correct 7 ms 14372 KB Output is correct
5 Correct 7 ms 14408 KB Output is correct
6 Correct 7 ms 14400 KB Output is correct
7 Correct 8 ms 14376 KB Output is correct
8 Correct 6 ms 14292 KB Output is correct
9 Correct 182 ms 45596 KB Output is correct
10 Correct 19 ms 17656 KB Output is correct
11 Correct 66 ms 31072 KB Output is correct
12 Correct 23 ms 19100 KB Output is correct
13 Correct 30 ms 19820 KB Output is correct
14 Correct 8 ms 14404 KB Output is correct
15 Correct 8 ms 14548 KB Output is correct
16 Correct 174 ms 45572 KB Output is correct
17 Correct 7 ms 14408 KB Output is correct
18 Correct 7 ms 14404 KB Output is correct
19 Correct 8 ms 14292 KB Output is correct
20 Correct 8 ms 14292 KB Output is correct
21 Correct 8 ms 14400 KB Output is correct
22 Correct 7 ms 14292 KB Output is correct
23 Correct 444 ms 75560 KB Output is correct
24 Correct 7 ms 14292 KB Output is correct
25 Correct 9 ms 14804 KB Output is correct
26 Correct 9 ms 14740 KB Output is correct
27 Correct 10 ms 14908 KB Output is correct
28 Correct 140 ms 38340 KB Output is correct
29 Correct 222 ms 50896 KB Output is correct
30 Correct 318 ms 62776 KB Output is correct
31 Correct 429 ms 75600 KB Output is correct
32 Correct 7 ms 14404 KB Output is correct
33 Correct 7 ms 14320 KB Output is correct
34 Correct 7 ms 14404 KB Output is correct
35 Correct 7 ms 14292 KB Output is correct
36 Correct 8 ms 14400 KB Output is correct
37 Correct 7 ms 14292 KB Output is correct
38 Correct 7 ms 14324 KB Output is correct
39 Correct 8 ms 14408 KB Output is correct
40 Correct 9 ms 14404 KB Output is correct
41 Correct 8 ms 14292 KB Output is correct
42 Correct 7 ms 14404 KB Output is correct
43 Correct 8 ms 14548 KB Output is correct
44 Correct 8 ms 14668 KB Output is correct
45 Correct 202 ms 43244 KB Output is correct
46 Correct 305 ms 57272 KB Output is correct
47 Correct 302 ms 57336 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 7 ms 14292 KB Output is correct
2 Correct 7 ms 14412 KB Output is correct
3 Correct 4 ms 14292 KB Output is correct
4 Correct 7 ms 14372 KB Output is correct
5 Correct 7 ms 14408 KB Output is correct
6 Correct 7 ms 14400 KB Output is correct
7 Correct 8 ms 14376 KB Output is correct
8 Correct 6 ms 14292 KB Output is correct
9 Correct 182 ms 45596 KB Output is correct
10 Correct 19 ms 17656 KB Output is correct
11 Correct 66 ms 31072 KB Output is correct
12 Correct 23 ms 19100 KB Output is correct
13 Correct 30 ms 19820 KB Output is correct
14 Correct 8 ms 14404 KB Output is correct
15 Correct 8 ms 14548 KB Output is correct
16 Correct 174 ms 45572 KB Output is correct
17 Correct 7 ms 14408 KB Output is correct
18 Correct 7 ms 14404 KB Output is correct
19 Correct 8 ms 14292 KB Output is correct
20 Correct 8 ms 14292 KB Output is correct
21 Correct 8 ms 14400 KB Output is correct
22 Correct 7 ms 14292 KB Output is correct
23 Correct 444 ms 75560 KB Output is correct
24 Correct 7 ms 14292 KB Output is correct
25 Correct 9 ms 14804 KB Output is correct
26 Correct 9 ms 14740 KB Output is correct
27 Correct 10 ms 14908 KB Output is correct
28 Correct 140 ms 38340 KB Output is correct
29 Correct 222 ms 50896 KB Output is correct
30 Correct 318 ms 62776 KB Output is correct
31 Correct 429 ms 75600 KB Output is correct
32 Correct 7 ms 14404 KB Output is correct
33 Correct 7 ms 14320 KB Output is correct
34 Correct 7 ms 14404 KB Output is correct
35 Correct 7 ms 14292 KB Output is correct
36 Correct 8 ms 14400 KB Output is correct
37 Correct 7 ms 14292 KB Output is correct
38 Correct 7 ms 14324 KB Output is correct
39 Correct 8 ms 14408 KB Output is correct
40 Correct 9 ms 14404 KB Output is correct
41 Correct 8 ms 14292 KB Output is correct
42 Correct 7 ms 14404 KB Output is correct
43 Correct 8 ms 14548 KB Output is correct
44 Correct 8 ms 14668 KB Output is correct
45 Correct 202 ms 43244 KB Output is correct
46 Correct 305 ms 57272 KB Output is correct
47 Correct 302 ms 57336 KB Output is correct
48 Correct 7 ms 14292 KB Output is correct
49 Correct 7 ms 14292 KB Output is correct
50 Correct 7 ms 14292 KB Output is correct
51 Correct 7 ms 14396 KB Output is correct
52 Correct 8 ms 14292 KB Output is correct
53 Correct 8 ms 14400 KB Output is correct
54 Correct 8 ms 14400 KB Output is correct
55 Correct 451 ms 74452 KB Output is correct
56 Correct 8 ms 14292 KB Output is correct
57 Correct 10 ms 14928 KB Output is correct
58 Correct 15 ms 16200 KB Output is correct
59 Correct 14 ms 15692 KB Output is correct
60 Correct 191 ms 44256 KB Output is correct
61 Correct 265 ms 54888 KB Output is correct
62 Correct 370 ms 64484 KB Output is correct
63 Correct 449 ms 74548 KB Output is correct
64 Correct 8 ms 14292 KB Output is correct
65 Correct 7 ms 14292 KB Output is correct
66 Correct 8 ms 14400 KB Output is correct
67 Correct 433 ms 77164 KB Output is correct
68 Correct 450 ms 77076 KB Output is correct
69 Correct 445 ms 76804 KB Output is correct
70 Correct 10 ms 14844 KB Output is correct
71 Correct 11 ms 15308 KB Output is correct
72 Correct 181 ms 42912 KB Output is correct
73 Correct 323 ms 58484 KB Output is correct
74 Correct 446 ms 71916 KB Output is correct
75 Correct 477 ms 74264 KB Output is correct
76 Correct 430 ms 77156 KB Output is correct
77 Correct 13 ms 14996 KB Output is correct
78 Correct 12 ms 15500 KB Output is correct
79 Correct 191 ms 43404 KB Output is correct
80 Correct 326 ms 59156 KB Output is correct
81 Correct 476 ms 72796 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 7 ms 14292 KB Output is correct
2 Correct 7 ms 14412 KB Output is correct
3 Correct 4 ms 14292 KB Output is correct
4 Correct 7 ms 14372 KB Output is correct
5 Correct 7 ms 14408 KB Output is correct
6 Correct 7 ms 14400 KB Output is correct
7 Correct 8 ms 14376 KB Output is correct
8 Correct 6 ms 14292 KB Output is correct
9 Correct 182 ms 45596 KB Output is correct
10 Correct 19 ms 17656 KB Output is correct
11 Correct 66 ms 31072 KB Output is correct
12 Correct 23 ms 19100 KB Output is correct
13 Correct 30 ms 19820 KB Output is correct
14 Correct 8 ms 14404 KB Output is correct
15 Correct 8 ms 14548 KB Output is correct
16 Correct 174 ms 45572 KB Output is correct
17 Correct 7 ms 14292 KB Output is correct
18 Correct 7 ms 14344 KB Output is correct
19 Correct 7 ms 14356 KB Output is correct
20 Correct 423 ms 70668 KB Output is correct
21 Correct 487 ms 70624 KB Output is correct
22 Correct 577 ms 70636 KB Output is correct
23 Correct 350 ms 68812 KB Output is correct
24 Correct 211 ms 34180 KB Output is correct
25 Correct 239 ms 38672 KB Output is correct
26 Correct 203 ms 38640 KB Output is correct
27 Correct 455 ms 77148 KB Output is correct
28 Correct 441 ms 77044 KB Output is correct
29 Correct 455 ms 76780 KB Output is correct
30 Correct 431 ms 77028 KB Output is correct
31 Correct 7 ms 14296 KB Output is correct
32 Correct 29 ms 18592 KB Output is correct
33 Correct 84 ms 24632 KB Output is correct
34 Correct 422 ms 71112 KB Output is correct
35 Correct 13 ms 15700 KB Output is correct
36 Correct 46 ms 20556 KB Output is correct
37 Correct 97 ms 26904 KB Output is correct
38 Correct 156 ms 38136 KB Output is correct
39 Correct 211 ms 46040 KB Output is correct
40 Correct 292 ms 56188 KB Output is correct
41 Correct 367 ms 64376 KB Output is correct
42 Correct 515 ms 72620 KB Output is correct
43 Correct 6 ms 14292 KB Output is correct
44 Correct 6 ms 14292 KB Output is correct
45 Correct 11 ms 14404 KB Output is correct
46 Correct 11 ms 14292 KB Output is correct
47 Correct 9 ms 14404 KB Output is correct
48 Correct 11 ms 14420 KB Output is correct
49 Correct 11 ms 14360 KB Output is correct
50 Correct 10 ms 14292 KB Output is correct
51 Correct 9 ms 14292 KB Output is correct
52 Correct 9 ms 14408 KB Output is correct
53 Correct 7 ms 14288 KB Output is correct
54 Correct 9 ms 14540 KB Output is correct
55 Correct 11 ms 14760 KB Output is correct
56 Correct 197 ms 43480 KB Output is correct
57 Correct 321 ms 57388 KB Output is correct
58 Correct 351 ms 57328 KB Output is correct
59 Correct 9 ms 14292 KB Output is correct
60 Correct 8 ms 14332 KB Output is correct
61 Correct 7 ms 14344 KB Output is correct
62 Correct 429 ms 77164 KB Output is correct
63 Correct 418 ms 77072 KB Output is correct
64 Correct 413 ms 76848 KB Output is correct
65 Correct 10 ms 14804 KB Output is correct
66 Correct 12 ms 15316 KB Output is correct
67 Correct 192 ms 42852 KB Output is correct
68 Correct 343 ms 58416 KB Output is correct
69 Correct 448 ms 72036 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 7 ms 14292 KB Output is correct
2 Correct 7 ms 14412 KB Output is correct
3 Correct 4 ms 14292 KB Output is correct
4 Correct 7 ms 14372 KB Output is correct
5 Correct 7 ms 14408 KB Output is correct
6 Correct 7 ms 14400 KB Output is correct
7 Correct 8 ms 14376 KB Output is correct
8 Correct 6 ms 14292 KB Output is correct
9 Correct 182 ms 45596 KB Output is correct
10 Correct 19 ms 17656 KB Output is correct
11 Correct 66 ms 31072 KB Output is correct
12 Correct 23 ms 19100 KB Output is correct
13 Correct 30 ms 19820 KB Output is correct
14 Correct 8 ms 14404 KB Output is correct
15 Correct 8 ms 14548 KB Output is correct
16 Correct 174 ms 45572 KB Output is correct
17 Correct 432 ms 77920 KB Output is correct
18 Correct 425 ms 78192 KB Output is correct
19 Correct 456 ms 70620 KB Output is correct
20 Correct 498 ms 71160 KB Output is correct
21 Correct 420 ms 67528 KB Output is correct
22 Correct 8 ms 14420 KB Output is correct
23 Correct 59 ms 23912 KB Output is correct
24 Correct 21 ms 16952 KB Output is correct
25 Correct 68 ms 23748 KB Output is correct
26 Correct 129 ms 29684 KB Output is correct
27 Correct 201 ms 43868 KB Output is correct
28 Correct 285 ms 52412 KB Output is correct
29 Correct 331 ms 59844 KB Output is correct
30 Correct 422 ms 66224 KB Output is correct
31 Correct 511 ms 73572 KB Output is correct
32 Correct 545 ms 74288 KB Output is correct
33 Correct 437 ms 77104 KB Output is correct
34 Correct 11 ms 14928 KB Output is correct
35 Correct 14 ms 15564 KB Output is correct
36 Correct 205 ms 43308 KB Output is correct
37 Correct 336 ms 59200 KB Output is correct
38 Correct 477 ms 72828 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 7 ms 14292 KB Output is correct
2 Correct 7 ms 14412 KB Output is correct
3 Correct 4 ms 14292 KB Output is correct
4 Correct 7 ms 14372 KB Output is correct
5 Correct 7 ms 14408 KB Output is correct
6 Correct 7 ms 14400 KB Output is correct
7 Correct 8 ms 14376 KB Output is correct
8 Correct 6 ms 14292 KB Output is correct
9 Correct 182 ms 45596 KB Output is correct
10 Correct 19 ms 17656 KB Output is correct
11 Correct 66 ms 31072 KB Output is correct
12 Correct 23 ms 19100 KB Output is correct
13 Correct 30 ms 19820 KB Output is correct
14 Correct 8 ms 14404 KB Output is correct
15 Correct 8 ms 14548 KB Output is correct
16 Correct 174 ms 45572 KB Output is correct
17 Correct 7 ms 14408 KB Output is correct
18 Correct 7 ms 14404 KB Output is correct
19 Correct 8 ms 14292 KB Output is correct
20 Correct 8 ms 14292 KB Output is correct
21 Correct 8 ms 14400 KB Output is correct
22 Correct 7 ms 14292 KB Output is correct
23 Correct 444 ms 75560 KB Output is correct
24 Correct 7 ms 14292 KB Output is correct
25 Correct 9 ms 14804 KB Output is correct
26 Correct 9 ms 14740 KB Output is correct
27 Correct 10 ms 14908 KB Output is correct
28 Correct 140 ms 38340 KB Output is correct
29 Correct 222 ms 50896 KB Output is correct
30 Correct 318 ms 62776 KB Output is correct
31 Correct 429 ms 75600 KB Output is correct
32 Correct 7 ms 14404 KB Output is correct
33 Correct 7 ms 14320 KB Output is correct
34 Correct 7 ms 14404 KB Output is correct
35 Correct 7 ms 14292 KB Output is correct
36 Correct 8 ms 14400 KB Output is correct
37 Correct 7 ms 14292 KB Output is correct
38 Correct 7 ms 14324 KB Output is correct
39 Correct 8 ms 14408 KB Output is correct
40 Correct 9 ms 14404 KB Output is correct
41 Correct 8 ms 14292 KB Output is correct
42 Correct 7 ms 14404 KB Output is correct
43 Correct 8 ms 14548 KB Output is correct
44 Correct 8 ms 14668 KB Output is correct
45 Correct 202 ms 43244 KB Output is correct
46 Correct 305 ms 57272 KB Output is correct
47 Correct 302 ms 57336 KB Output is correct
48 Correct 7 ms 14292 KB Output is correct
49 Correct 7 ms 14292 KB Output is correct
50 Correct 7 ms 14292 KB Output is correct
51 Correct 7 ms 14396 KB Output is correct
52 Correct 8 ms 14292 KB Output is correct
53 Correct 8 ms 14400 KB Output is correct
54 Correct 8 ms 14400 KB Output is correct
55 Correct 451 ms 74452 KB Output is correct
56 Correct 8 ms 14292 KB Output is correct
57 Correct 10 ms 14928 KB Output is correct
58 Correct 15 ms 16200 KB Output is correct
59 Correct 14 ms 15692 KB Output is correct
60 Correct 191 ms 44256 KB Output is correct
61 Correct 265 ms 54888 KB Output is correct
62 Correct 370 ms 64484 KB Output is correct
63 Correct 449 ms 74548 KB Output is correct
64 Correct 8 ms 14292 KB Output is correct
65 Correct 7 ms 14292 KB Output is correct
66 Correct 8 ms 14400 KB Output is correct
67 Correct 433 ms 77164 KB Output is correct
68 Correct 450 ms 77076 KB Output is correct
69 Correct 445 ms 76804 KB Output is correct
70 Correct 10 ms 14844 KB Output is correct
71 Correct 11 ms 15308 KB Output is correct
72 Correct 181 ms 42912 KB Output is correct
73 Correct 323 ms 58484 KB Output is correct
74 Correct 446 ms 71916 KB Output is correct
75 Correct 477 ms 74264 KB Output is correct
76 Correct 430 ms 77156 KB Output is correct
77 Correct 13 ms 14996 KB Output is correct
78 Correct 12 ms 15500 KB Output is correct
79 Correct 191 ms 43404 KB Output is correct
80 Correct 326 ms 59156 KB Output is correct
81 Correct 476 ms 72796 KB Output is correct
82 Correct 7 ms 14292 KB Output is correct
83 Correct 7 ms 14344 KB Output is correct
84 Correct 7 ms 14356 KB Output is correct
85 Correct 423 ms 70668 KB Output is correct
86 Correct 487 ms 70624 KB Output is correct
87 Correct 577 ms 70636 KB Output is correct
88 Correct 350 ms 68812 KB Output is correct
89 Correct 211 ms 34180 KB Output is correct
90 Correct 239 ms 38672 KB Output is correct
91 Correct 203 ms 38640 KB Output is correct
92 Correct 455 ms 77148 KB Output is correct
93 Correct 441 ms 77044 KB Output is correct
94 Correct 455 ms 76780 KB Output is correct
95 Correct 431 ms 77028 KB Output is correct
96 Correct 7 ms 14296 KB Output is correct
97 Correct 29 ms 18592 KB Output is correct
98 Correct 84 ms 24632 KB Output is correct
99 Correct 422 ms 71112 KB Output is correct
100 Correct 13 ms 15700 KB Output is correct
101 Correct 46 ms 20556 KB Output is correct
102 Correct 97 ms 26904 KB Output is correct
103 Correct 156 ms 38136 KB Output is correct
104 Correct 211 ms 46040 KB Output is correct
105 Correct 292 ms 56188 KB Output is correct
106 Correct 367 ms 64376 KB Output is correct
107 Correct 515 ms 72620 KB Output is correct
108 Correct 6 ms 14292 KB Output is correct
109 Correct 6 ms 14292 KB Output is correct
110 Correct 11 ms 14404 KB Output is correct
111 Correct 11 ms 14292 KB Output is correct
112 Correct 9 ms 14404 KB Output is correct
113 Correct 11 ms 14420 KB Output is correct
114 Correct 11 ms 14360 KB Output is correct
115 Correct 10 ms 14292 KB Output is correct
116 Correct 9 ms 14292 KB Output is correct
117 Correct 9 ms 14408 KB Output is correct
118 Correct 7 ms 14288 KB Output is correct
119 Correct 9 ms 14540 KB Output is correct
120 Correct 11 ms 14760 KB Output is correct
121 Correct 197 ms 43480 KB Output is correct
122 Correct 321 ms 57388 KB Output is correct
123 Correct 351 ms 57328 KB Output is correct
124 Correct 9 ms 14292 KB Output is correct
125 Correct 8 ms 14332 KB Output is correct
126 Correct 7 ms 14344 KB Output is correct
127 Correct 429 ms 77164 KB Output is correct
128 Correct 418 ms 77072 KB Output is correct
129 Correct 413 ms 76848 KB Output is correct
130 Correct 10 ms 14804 KB Output is correct
131 Correct 12 ms 15316 KB Output is correct
132 Correct 192 ms 42852 KB Output is correct
133 Correct 343 ms 58416 KB Output is correct
134 Correct 448 ms 72036 KB Output is correct
135 Correct 432 ms 77920 KB Output is correct
136 Correct 425 ms 78192 KB Output is correct
137 Correct 456 ms 70620 KB Output is correct
138 Correct 498 ms 71160 KB Output is correct
139 Correct 420 ms 67528 KB Output is correct
140 Correct 8 ms 14420 KB Output is correct
141 Correct 59 ms 23912 KB Output is correct
142 Correct 21 ms 16952 KB Output is correct
143 Correct 68 ms 23748 KB Output is correct
144 Correct 129 ms 29684 KB Output is correct
145 Correct 201 ms 43868 KB Output is correct
146 Correct 285 ms 52412 KB Output is correct
147 Correct 331 ms 59844 KB Output is correct
148 Correct 422 ms 66224 KB Output is correct
149 Correct 511 ms 73572 KB Output is correct
150 Correct 545 ms 74288 KB Output is correct
151 Correct 437 ms 77104 KB Output is correct
152 Correct 11 ms 14928 KB Output is correct
153 Correct 14 ms 15564 KB Output is correct
154 Correct 205 ms 43308 KB Output is correct
155 Correct 336 ms 59200 KB Output is correct
156 Correct 477 ms 72828 KB Output is correct
157 Correct 7 ms 14292 KB Output is correct
158 Correct 9 ms 14388 KB Output is correct
159 Correct 8 ms 14396 KB Output is correct
160 Correct 8 ms 14400 KB Output is correct
161 Incorrect 3053 ms 61000 KB Solution announced impossible, but it is possible.
162 Halted 0 ms 0 KB -