Submission #285107

# Submission time Handle Problem Language Result Execution time Memory
285107 2020-08-28T10:21:06 Z user202729 Paint By Numbers (IOI16_paint) C++17
100 / 100
267 ms 7928 KB
// moreflags=grader.cpp
#include "paint.h"
// 15
// It's weird that the wrong code can pass many subtasks.
// !?

#include <cstdlib>
#include<climits>
#if not LOCAL
#define NDEBUG 1
#endif
#include<cassert>

struct D{
	std::vector<int> nextFail; // first >=index, or INT_MAX
	D(std::string const& s, auto satisfy): nextFail(s.size()){
		int cur=INT_MAX;
		for(int i=(int)s.size(); i--;){
			if(not satisfy(s[i])) cur=i;
			nextFail[i]=cur;
		}
	}
	bool allSatisfy(int left, int right) const{
		assert(left<right);
		return nextFail[left]>=right;
	}
};
std::string solve_puzzle(std::string s, std::vector<int> c) {
	D checkx{s, [&](char ch){return ch!='_';}};

	std::vector<std::vector<bool>> matchLeft(c.size()+1, std::vector<bool>(s.size()+1));
	// [lenc][lens]
	for(int lens=0;; ++lens){
		matchLeft[0][lens]=true;
		if(lens==(int)s.size()) break;
		if(s[lens]=='X') break;
	}
	for(int lenc=1; lenc<=(int)c.size(); ++lenc){
		auto const curc=c[lenc-1];
		for(int lens=1; lens<=(int)s.size(); ++lens){
			matchLeft[lenc][lens]=(
					matchLeft[lenc][lens-1] and s[lens-1]!='X'
					) or (
						lens>=curc and checkx.allSatisfy(lens-curc, lens) and
						(lens==curc ? lenc==1: (s[lens-curc-1]!='X' and matchLeft[lenc-1][lens-curc-1]))
						);
		}
	}

	std::vector<std::vector<bool>> matchRight(c.size()+1, std::vector<bool>(s.size()+1));
	// [lenc][lens] (from the right)
	for(int lens=0;; ++lens){
		matchRight[0][lens]=true;
		if(lens==(int)s.size()) break;
		if(s.rbegin()[lens]=='X') break;
	}
	for(int lenc=1; lenc<=(int)c.size(); ++lenc){
		auto const curc=c.rbegin()[lenc-1];
		for(int lens=1; lens<=(int)s.size(); ++lens){
			matchRight[lenc][lens]=(
					matchRight[lenc][lens-1] and s.rbegin()[lens-1]!='X'
					) or (
						lens>=curc and checkx.allSatisfy((int)s.size()-lens, (int)s.size()-lens+curc) and
						(lens==curc ? lenc==1: (s.rbegin()[lens-curc-1]!='X' and matchRight[lenc-1][lens-curc-1]))
						);
		}
	}

	std::string result(s.size(), 0);
	char const crossable=1, blankable=2;

	for(int index=0; index<(int)s.size(); ++index){
		for(int lenc=0; lenc<=(int)c.size(); ++lenc){
			if(s[index]=='_' // assumes that there always exists a solution
					or (
						s[index]=='.' and
						matchLeft[lenc][index] and matchRight[c.size()-lenc][(int)s.size()-index-1]
			  )){
				result[index]|=blankable;
				break;
			}
		}
	}

	std::vector<int> fillTemp(s.size());
	auto const fillx=[&](int left, int right){
		assert(left<right);
		fillTemp[left]=std::max(fillTemp[left], right);
	};
	for(int indexc=0; indexc<(int)c.size(); ++indexc){
		auto const curc=c[indexc];
		for(int index=curc; index<=(int)s.size(); ++index)
			if(
					(index==(int)s.size() ? indexc==(int)c.size()-1 : (
											  matchRight[c.size()-1-indexc][s.size()-index-1] and
											  s[index]!='X')) and
					(index-curc==0 ? indexc==0 : (
									   matchLeft[indexc][index-curc-1] and
									   s[index-curc-1]!='X')) and
					checkx.allSatisfy(index-curc, index)
					){
				//result[index]|=blankable;
				//result[index-curc-1]|=blankable;
				fillx(index-curc, index);
			}
	}

	for(int index=0; index<(int)s.size(); ++index){
		if(fillTemp[index]>index){
			result[index]|=crossable;
			if(index==(int)s.size()-1) break;
			fillTemp[index+1]=std::max(fillTemp[index+1], fillTemp[index]);
		}
	}

	for(auto& it: result){
		assert(it<=(crossable|blankable));
		auto const pattern="#X_?";
		assert(pattern[int(crossable)]=='X');
		assert(pattern[int(blankable)]=='_');
		assert(pattern[int(crossable|blankable)]=='?');
		it=pattern[int(it)];
	}

	return result;
}

Compilation message

paint.cpp:16:26: warning: use of 'auto' in parameter declaration only available with '-fconcepts'
   16 |  D(std::string const& s, auto satisfy): nextFail(s.size()){
      |                          ^~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB n = 13, m = 1
2 Correct 0 ms 256 KB n = 18, m = 1
3 Correct 0 ms 256 KB n = 17, m = 1
4 Correct 0 ms 256 KB n = 1, m = 1
5 Correct 0 ms 256 KB n = 20, m = 1
6 Correct 0 ms 256 KB n = 20, m = 1
7 Correct 1 ms 256 KB n = 20, m = 1
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB n = 13, m = 1
2 Correct 0 ms 256 KB n = 18, m = 1
3 Correct 0 ms 256 KB n = 17, m = 1
4 Correct 0 ms 256 KB n = 1, m = 1
5 Correct 0 ms 256 KB n = 20, m = 1
6 Correct 0 ms 256 KB n = 20, m = 1
7 Correct 1 ms 256 KB n = 20, m = 1
8 Correct 0 ms 256 KB n = 20, m = 5
9 Correct 0 ms 256 KB n = 18, m = 3
10 Correct 0 ms 256 KB n = 17, m = 2
11 Correct 0 ms 256 KB n = 20, m = 2
12 Correct 0 ms 256 KB n = 17, m = 4
13 Correct 1 ms 256 KB n = 17, m = 6
14 Correct 1 ms 384 KB n = 17, m = 1
15 Correct 0 ms 256 KB n = 17, m = 4
16 Correct 0 ms 256 KB n = 13, m = 3
17 Correct 0 ms 256 KB n = 18, m = 4
18 Correct 0 ms 256 KB n = 20, m = 10
19 Correct 1 ms 256 KB n = 19, m = 10
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB n = 13, m = 1
2 Correct 0 ms 256 KB n = 18, m = 1
3 Correct 0 ms 256 KB n = 17, m = 1
4 Correct 0 ms 256 KB n = 1, m = 1
5 Correct 0 ms 256 KB n = 20, m = 1
6 Correct 0 ms 256 KB n = 20, m = 1
7 Correct 1 ms 256 KB n = 20, m = 1
8 Correct 0 ms 256 KB n = 20, m = 5
9 Correct 0 ms 256 KB n = 18, m = 3
10 Correct 0 ms 256 KB n = 17, m = 2
11 Correct 0 ms 256 KB n = 20, m = 2
12 Correct 0 ms 256 KB n = 17, m = 4
13 Correct 1 ms 256 KB n = 17, m = 6
14 Correct 1 ms 384 KB n = 17, m = 1
15 Correct 0 ms 256 KB n = 17, m = 4
16 Correct 0 ms 256 KB n = 13, m = 3
17 Correct 0 ms 256 KB n = 18, m = 4
18 Correct 0 ms 256 KB n = 20, m = 10
19 Correct 1 ms 256 KB n = 19, m = 10
20 Correct 0 ms 256 KB n = 100, m = 5
21 Correct 1 ms 256 KB n = 90, m = 3
22 Correct 0 ms 256 KB n = 86, m = 2
23 Correct 0 ms 256 KB n = 81, m = 4
24 Correct 0 ms 256 KB n = 89, m = 10
25 Correct 0 ms 256 KB n = 81, m = 23
26 Correct 0 ms 256 KB n = 86, m = 8
27 Correct 0 ms 256 KB n = 53, m = 22
28 Correct 0 ms 256 KB n = 89, m = 35
29 Correct 0 ms 256 KB n = 63, m = 25
30 Correct 1 ms 256 KB n = 100, m = 50
31 Correct 1 ms 256 KB n = 99, m = 50
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB n = 13, m = 1
2 Correct 0 ms 256 KB n = 18, m = 1
3 Correct 0 ms 256 KB n = 17, m = 1
4 Correct 0 ms 256 KB n = 1, m = 1
5 Correct 0 ms 256 KB n = 20, m = 1
6 Correct 0 ms 256 KB n = 20, m = 1
7 Correct 1 ms 256 KB n = 20, m = 1
8 Correct 0 ms 256 KB n = 20, m = 5
9 Correct 0 ms 256 KB n = 18, m = 3
10 Correct 0 ms 256 KB n = 17, m = 2
11 Correct 0 ms 256 KB n = 20, m = 2
12 Correct 0 ms 256 KB n = 17, m = 4
13 Correct 1 ms 256 KB n = 17, m = 6
14 Correct 1 ms 384 KB n = 17, m = 1
15 Correct 0 ms 256 KB n = 17, m = 4
16 Correct 0 ms 256 KB n = 13, m = 3
17 Correct 0 ms 256 KB n = 18, m = 4
18 Correct 0 ms 256 KB n = 20, m = 10
19 Correct 1 ms 256 KB n = 19, m = 10
20 Correct 0 ms 256 KB n = 100, m = 5
21 Correct 1 ms 256 KB n = 90, m = 3
22 Correct 0 ms 256 KB n = 86, m = 2
23 Correct 0 ms 256 KB n = 81, m = 4
24 Correct 0 ms 256 KB n = 89, m = 10
25 Correct 0 ms 256 KB n = 81, m = 23
26 Correct 0 ms 256 KB n = 86, m = 8
27 Correct 0 ms 256 KB n = 53, m = 22
28 Correct 0 ms 256 KB n = 89, m = 35
29 Correct 0 ms 256 KB n = 63, m = 25
30 Correct 1 ms 256 KB n = 100, m = 50
31 Correct 1 ms 256 KB n = 99, m = 50
32 Correct 0 ms 256 KB n = 13, m = 4
33 Correct 0 ms 256 KB n = 86, m = 2
34 Correct 1 ms 256 KB n = 88, m = 2
35 Correct 1 ms 256 KB n = 86, m = 2
36 Correct 0 ms 256 KB n = 81, m = 6
37 Correct 0 ms 256 KB n = 98, m = 7
38 Correct 1 ms 256 KB n = 92, m = 7
39 Correct 0 ms 256 KB n = 88, m = 21
40 Correct 1 ms 256 KB n = 90, m = 21
41 Correct 0 ms 256 KB n = 98, m = 22
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB n = 13, m = 1
2 Correct 0 ms 256 KB n = 18, m = 1
3 Correct 0 ms 256 KB n = 17, m = 1
4 Correct 0 ms 256 KB n = 1, m = 1
5 Correct 0 ms 256 KB n = 20, m = 1
6 Correct 0 ms 256 KB n = 20, m = 1
7 Correct 1 ms 256 KB n = 20, m = 1
8 Correct 0 ms 256 KB n = 20, m = 5
9 Correct 0 ms 256 KB n = 18, m = 3
10 Correct 0 ms 256 KB n = 17, m = 2
11 Correct 0 ms 256 KB n = 20, m = 2
12 Correct 0 ms 256 KB n = 17, m = 4
13 Correct 1 ms 256 KB n = 17, m = 6
14 Correct 1 ms 384 KB n = 17, m = 1
15 Correct 0 ms 256 KB n = 17, m = 4
16 Correct 0 ms 256 KB n = 13, m = 3
17 Correct 0 ms 256 KB n = 18, m = 4
18 Correct 0 ms 256 KB n = 20, m = 10
19 Correct 1 ms 256 KB n = 19, m = 10
20 Correct 0 ms 256 KB n = 100, m = 5
21 Correct 1 ms 256 KB n = 90, m = 3
22 Correct 0 ms 256 KB n = 86, m = 2
23 Correct 0 ms 256 KB n = 81, m = 4
24 Correct 0 ms 256 KB n = 89, m = 10
25 Correct 0 ms 256 KB n = 81, m = 23
26 Correct 0 ms 256 KB n = 86, m = 8
27 Correct 0 ms 256 KB n = 53, m = 22
28 Correct 0 ms 256 KB n = 89, m = 35
29 Correct 0 ms 256 KB n = 63, m = 25
30 Correct 1 ms 256 KB n = 100, m = 50
31 Correct 1 ms 256 KB n = 99, m = 50
32 Correct 0 ms 256 KB n = 13, m = 4
33 Correct 0 ms 256 KB n = 86, m = 2
34 Correct 1 ms 256 KB n = 88, m = 2
35 Correct 1 ms 256 KB n = 86, m = 2
36 Correct 0 ms 256 KB n = 81, m = 6
37 Correct 0 ms 256 KB n = 98, m = 7
38 Correct 1 ms 256 KB n = 92, m = 7
39 Correct 0 ms 256 KB n = 88, m = 21
40 Correct 1 ms 256 KB n = 90, m = 21
41 Correct 0 ms 256 KB n = 98, m = 22
42 Correct 0 ms 256 KB n = 11, m = 2
43 Correct 0 ms 256 KB n = 11, m = 2
44 Correct 0 ms 256 KB n = 13, m = 3
45 Correct 0 ms 256 KB n = 86, m = 2
46 Correct 0 ms 256 KB n = 81, m = 2
47 Correct 0 ms 256 KB n = 93, m = 2
48 Correct 1 ms 256 KB n = 81, m = 2
49 Correct 0 ms 256 KB n = 86, m = 2
50 Correct 1 ms 256 KB n = 90, m = 2
51 Correct 0 ms 256 KB n = 87, m = 2
52 Correct 1 ms 256 KB n = 97, m = 2
53 Correct 0 ms 256 KB n = 85, m = 2
54 Correct 1 ms 256 KB n = 88, m = 7
55 Correct 1 ms 256 KB n = 96, m = 7
56 Correct 0 ms 256 KB n = 85, m = 7
57 Correct 0 ms 256 KB n = 92, m = 7
58 Correct 0 ms 256 KB n = 92, m = 7
59 Correct 0 ms 256 KB n = 86, m = 7
60 Correct 0 ms 256 KB n = 87, m = 7
61 Correct 0 ms 256 KB n = 100, m = 7
62 Correct 0 ms 256 KB n = 100, m = 7
63 Correct 0 ms 256 KB n = 92, m = 21
64 Correct 1 ms 256 KB n = 93, m = 22
65 Correct 1 ms 256 KB n = 95, m = 22
66 Correct 0 ms 256 KB n = 98, m = 22
67 Correct 1 ms 256 KB n = 94, m = 22
68 Correct 0 ms 256 KB n = 93, m = 22
69 Correct 0 ms 256 KB n = 88, m = 21
70 Correct 1 ms 256 KB n = 83, m = 20
71 Correct 1 ms 256 KB n = 99, m = 23
72 Correct 0 ms 256 KB n = 96, m = 19
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB n = 13, m = 1
2 Correct 0 ms 256 KB n = 18, m = 1
3 Correct 0 ms 256 KB n = 17, m = 1
4 Correct 0 ms 256 KB n = 1, m = 1
5 Correct 0 ms 256 KB n = 20, m = 1
6 Correct 0 ms 256 KB n = 20, m = 1
7 Correct 1 ms 256 KB n = 20, m = 1
8 Correct 0 ms 256 KB n = 20, m = 5
9 Correct 0 ms 256 KB n = 18, m = 3
10 Correct 0 ms 256 KB n = 17, m = 2
11 Correct 0 ms 256 KB n = 20, m = 2
12 Correct 0 ms 256 KB n = 17, m = 4
13 Correct 1 ms 256 KB n = 17, m = 6
14 Correct 1 ms 384 KB n = 17, m = 1
15 Correct 0 ms 256 KB n = 17, m = 4
16 Correct 0 ms 256 KB n = 13, m = 3
17 Correct 0 ms 256 KB n = 18, m = 4
18 Correct 0 ms 256 KB n = 20, m = 10
19 Correct 1 ms 256 KB n = 19, m = 10
20 Correct 0 ms 256 KB n = 100, m = 5
21 Correct 1 ms 256 KB n = 90, m = 3
22 Correct 0 ms 256 KB n = 86, m = 2
23 Correct 0 ms 256 KB n = 81, m = 4
24 Correct 0 ms 256 KB n = 89, m = 10
25 Correct 0 ms 256 KB n = 81, m = 23
26 Correct 0 ms 256 KB n = 86, m = 8
27 Correct 0 ms 256 KB n = 53, m = 22
28 Correct 0 ms 256 KB n = 89, m = 35
29 Correct 0 ms 256 KB n = 63, m = 25
30 Correct 1 ms 256 KB n = 100, m = 50
31 Correct 1 ms 256 KB n = 99, m = 50
32 Correct 0 ms 256 KB n = 13, m = 4
33 Correct 0 ms 256 KB n = 86, m = 2
34 Correct 1 ms 256 KB n = 88, m = 2
35 Correct 1 ms 256 KB n = 86, m = 2
36 Correct 0 ms 256 KB n = 81, m = 6
37 Correct 0 ms 256 KB n = 98, m = 7
38 Correct 1 ms 256 KB n = 92, m = 7
39 Correct 0 ms 256 KB n = 88, m = 21
40 Correct 1 ms 256 KB n = 90, m = 21
41 Correct 0 ms 256 KB n = 98, m = 22
42 Correct 0 ms 256 KB n = 11, m = 2
43 Correct 0 ms 256 KB n = 11, m = 2
44 Correct 0 ms 256 KB n = 13, m = 3
45 Correct 0 ms 256 KB n = 86, m = 2
46 Correct 0 ms 256 KB n = 81, m = 2
47 Correct 0 ms 256 KB n = 93, m = 2
48 Correct 1 ms 256 KB n = 81, m = 2
49 Correct 0 ms 256 KB n = 86, m = 2
50 Correct 1 ms 256 KB n = 90, m = 2
51 Correct 0 ms 256 KB n = 87, m = 2
52 Correct 1 ms 256 KB n = 97, m = 2
53 Correct 0 ms 256 KB n = 85, m = 2
54 Correct 1 ms 256 KB n = 88, m = 7
55 Correct 1 ms 256 KB n = 96, m = 7
56 Correct 0 ms 256 KB n = 85, m = 7
57 Correct 0 ms 256 KB n = 92, m = 7
58 Correct 0 ms 256 KB n = 92, m = 7
59 Correct 0 ms 256 KB n = 86, m = 7
60 Correct 0 ms 256 KB n = 87, m = 7
61 Correct 0 ms 256 KB n = 100, m = 7
62 Correct 0 ms 256 KB n = 100, m = 7
63 Correct 0 ms 256 KB n = 92, m = 21
64 Correct 1 ms 256 KB n = 93, m = 22
65 Correct 1 ms 256 KB n = 95, m = 22
66 Correct 0 ms 256 KB n = 98, m = 22
67 Correct 1 ms 256 KB n = 94, m = 22
68 Correct 0 ms 256 KB n = 93, m = 22
69 Correct 0 ms 256 KB n = 88, m = 21
70 Correct 1 ms 256 KB n = 83, m = 20
71 Correct 1 ms 256 KB n = 99, m = 23
72 Correct 0 ms 256 KB n = 96, m = 19
73 Correct 1 ms 384 KB n = 4825, m = 5
74 Correct 1 ms 384 KB n = 4384, m = 5
75 Correct 1 ms 384 KB n = 4528, m = 5
76 Correct 1 ms 384 KB n = 4980, m = 5
77 Correct 1 ms 384 KB n = 4730, m = 5
78 Correct 1 ms 384 KB n = 4784, m = 5
79 Correct 1 ms 384 KB n = 4875, m = 5
80 Correct 1 ms 384 KB n = 4576, m = 5
81 Correct 1 ms 384 KB n = 4297, m = 5
82 Correct 3 ms 384 KB n = 4662, m = 48
83 Correct 3 ms 384 KB n = 4753, m = 49
84 Correct 3 ms 384 KB n = 4148, m = 46
85 Correct 3 ms 416 KB n = 4906, m = 50
86 Correct 3 ms 512 KB n = 4967, m = 50
87 Correct 3 ms 512 KB n = 4828, m = 49
88 Correct 2 ms 384 KB n = 4105, m = 45
89 Correct 3 ms 512 KB n = 4954, m = 50
90 Correct 3 ms 512 KB n = 4884, m = 49
91 Correct 5 ms 512 KB n = 4307, m = 100
92 Correct 8 ms 512 KB n = 4668, m = 100
93 Correct 9 ms 512 KB n = 4647, m = 100
94 Correct 5 ms 512 KB n = 4372, m = 100
95 Correct 6 ms 512 KB n = 4791, m = 100
96 Correct 5 ms 512 KB n = 4029, m = 100
97 Correct 5 ms 512 KB n = 4439, m = 100
98 Correct 5 ms 512 KB n = 4018, m = 100
99 Correct 6 ms 512 KB n = 4979, m = 100
100 Correct 5 ms 512 KB n = 4996, m = 89
# Verdict Execution time Memory Grader output
1 Correct 1 ms 256 KB n = 13, m = 1
2 Correct 0 ms 256 KB n = 18, m = 1
3 Correct 0 ms 256 KB n = 17, m = 1
4 Correct 0 ms 256 KB n = 1, m = 1
5 Correct 0 ms 256 KB n = 20, m = 1
6 Correct 0 ms 256 KB n = 20, m = 1
7 Correct 1 ms 256 KB n = 20, m = 1
8 Correct 0 ms 256 KB n = 20, m = 5
9 Correct 0 ms 256 KB n = 18, m = 3
10 Correct 0 ms 256 KB n = 17, m = 2
11 Correct 0 ms 256 KB n = 20, m = 2
12 Correct 0 ms 256 KB n = 17, m = 4
13 Correct 1 ms 256 KB n = 17, m = 6
14 Correct 1 ms 384 KB n = 17, m = 1
15 Correct 0 ms 256 KB n = 17, m = 4
16 Correct 0 ms 256 KB n = 13, m = 3
17 Correct 0 ms 256 KB n = 18, m = 4
18 Correct 0 ms 256 KB n = 20, m = 10
19 Correct 1 ms 256 KB n = 19, m = 10
20 Correct 0 ms 256 KB n = 100, m = 5
21 Correct 1 ms 256 KB n = 90, m = 3
22 Correct 0 ms 256 KB n = 86, m = 2
23 Correct 0 ms 256 KB n = 81, m = 4
24 Correct 0 ms 256 KB n = 89, m = 10
25 Correct 0 ms 256 KB n = 81, m = 23
26 Correct 0 ms 256 KB n = 86, m = 8
27 Correct 0 ms 256 KB n = 53, m = 22
28 Correct 0 ms 256 KB n = 89, m = 35
29 Correct 0 ms 256 KB n = 63, m = 25
30 Correct 1 ms 256 KB n = 100, m = 50
31 Correct 1 ms 256 KB n = 99, m = 50
32 Correct 0 ms 256 KB n = 13, m = 4
33 Correct 0 ms 256 KB n = 86, m = 2
34 Correct 1 ms 256 KB n = 88, m = 2
35 Correct 1 ms 256 KB n = 86, m = 2
36 Correct 0 ms 256 KB n = 81, m = 6
37 Correct 0 ms 256 KB n = 98, m = 7
38 Correct 1 ms 256 KB n = 92, m = 7
39 Correct 0 ms 256 KB n = 88, m = 21
40 Correct 1 ms 256 KB n = 90, m = 21
41 Correct 0 ms 256 KB n = 98, m = 22
42 Correct 0 ms 256 KB n = 11, m = 2
43 Correct 0 ms 256 KB n = 11, m = 2
44 Correct 0 ms 256 KB n = 13, m = 3
45 Correct 0 ms 256 KB n = 86, m = 2
46 Correct 0 ms 256 KB n = 81, m = 2
47 Correct 0 ms 256 KB n = 93, m = 2
48 Correct 1 ms 256 KB n = 81, m = 2
49 Correct 0 ms 256 KB n = 86, m = 2
50 Correct 1 ms 256 KB n = 90, m = 2
51 Correct 0 ms 256 KB n = 87, m = 2
52 Correct 1 ms 256 KB n = 97, m = 2
53 Correct 0 ms 256 KB n = 85, m = 2
54 Correct 1 ms 256 KB n = 88, m = 7
55 Correct 1 ms 256 KB n = 96, m = 7
56 Correct 0 ms 256 KB n = 85, m = 7
57 Correct 0 ms 256 KB n = 92, m = 7
58 Correct 0 ms 256 KB n = 92, m = 7
59 Correct 0 ms 256 KB n = 86, m = 7
60 Correct 0 ms 256 KB n = 87, m = 7
61 Correct 0 ms 256 KB n = 100, m = 7
62 Correct 0 ms 256 KB n = 100, m = 7
63 Correct 0 ms 256 KB n = 92, m = 21
64 Correct 1 ms 256 KB n = 93, m = 22
65 Correct 1 ms 256 KB n = 95, m = 22
66 Correct 0 ms 256 KB n = 98, m = 22
67 Correct 1 ms 256 KB n = 94, m = 22
68 Correct 0 ms 256 KB n = 93, m = 22
69 Correct 0 ms 256 KB n = 88, m = 21
70 Correct 1 ms 256 KB n = 83, m = 20
71 Correct 1 ms 256 KB n = 99, m = 23
72 Correct 0 ms 256 KB n = 96, m = 19
73 Correct 1 ms 384 KB n = 4825, m = 5
74 Correct 1 ms 384 KB n = 4384, m = 5
75 Correct 1 ms 384 KB n = 4528, m = 5
76 Correct 1 ms 384 KB n = 4980, m = 5
77 Correct 1 ms 384 KB n = 4730, m = 5
78 Correct 1 ms 384 KB n = 4784, m = 5
79 Correct 1 ms 384 KB n = 4875, m = 5
80 Correct 1 ms 384 KB n = 4576, m = 5
81 Correct 1 ms 384 KB n = 4297, m = 5
82 Correct 3 ms 384 KB n = 4662, m = 48
83 Correct 3 ms 384 KB n = 4753, m = 49
84 Correct 3 ms 384 KB n = 4148, m = 46
85 Correct 3 ms 416 KB n = 4906, m = 50
86 Correct 3 ms 512 KB n = 4967, m = 50
87 Correct 3 ms 512 KB n = 4828, m = 49
88 Correct 2 ms 384 KB n = 4105, m = 45
89 Correct 3 ms 512 KB n = 4954, m = 50
90 Correct 3 ms 512 KB n = 4884, m = 49
91 Correct 5 ms 512 KB n = 4307, m = 100
92 Correct 8 ms 512 KB n = 4668, m = 100
93 Correct 9 ms 512 KB n = 4647, m = 100
94 Correct 5 ms 512 KB n = 4372, m = 100
95 Correct 6 ms 512 KB n = 4791, m = 100
96 Correct 5 ms 512 KB n = 4029, m = 100
97 Correct 5 ms 512 KB n = 4439, m = 100
98 Correct 5 ms 512 KB n = 4018, m = 100
99 Correct 6 ms 512 KB n = 4979, m = 100
100 Correct 5 ms 512 KB n = 4996, m = 89
101 Correct 23 ms 3072 KB n = 178952, m = 10
102 Correct 23 ms 3064 KB n = 180674, m = 10
103 Correct 21 ms 2944 KB n = 167639, m = 10
104 Correct 19 ms 3072 KB n = 172892, m = 10
105 Correct 20 ms 2944 KB n = 168125, m = 10
106 Correct 19 ms 2944 KB n = 166514, m = 10
107 Correct 21 ms 3200 KB n = 183874, m = 10
108 Correct 21 ms 3412 KB n = 194560, m = 10
109 Correct 19 ms 2944 KB n = 171994, m = 10
110 Correct 182 ms 6520 KB n = 165207, m = 100
111 Correct 203 ms 7572 KB n = 188459, m = 100
112 Correct 175 ms 6684 KB n = 162137, m = 100
113 Correct 160 ms 6648 KB n = 169691, m = 100
114 Correct 180 ms 7416 KB n = 187642, m = 100
115 Correct 167 ms 6652 KB n = 168456, m = 100
116 Correct 184 ms 7068 KB n = 180980, m = 100
117 Correct 174 ms 7544 KB n = 191687, m = 100
118 Correct 156 ms 6520 KB n = 166437, m = 100
119 Correct 199 ms 7388 KB n = 186520, m = 100
120 Correct 194 ms 6520 KB n = 166675, m = 100
121 Correct 209 ms 7544 KB n = 187725, m = 100
122 Correct 184 ms 6424 KB n = 161455, m = 100
123 Correct 208 ms 7632 KB n = 192977, m = 100
124 Correct 191 ms 7544 KB n = 192612, m = 100
125 Correct 245 ms 7696 KB n = 196512, m = 100
126 Correct 228 ms 7744 KB n = 198968, m = 100
127 Correct 190 ms 6520 KB n = 166659, m = 100
128 Correct 75 ms 4728 KB n = 199997, m = 34
129 Correct 7 ms 2944 KB n = 200000, m = 1
130 Correct 9 ms 2944 KB n = 200000, m = 1
131 Correct 267 ms 7928 KB n = 199999, m = 100
132 Correct 244 ms 7928 KB n = 199999, m = 100
133 Correct 7 ms 2944 KB n = 200000, m = 1