답안 #143022

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
143022 2019-08-12T15:55:46 Z SpeedOfMagic Paint By Numbers (IOI16_paint) C++17
100 / 100
1324 ms 161204 KB
#include "paint.h"
#include <bits/stdc++.h>
using namespace std;
//17 36 28
string solve_puzzle(string s, vector<int> c) {
	int k = c.size(), n = s.size();
	//dp[i][j] - if it's possible to cover all first i characters by using j segments
	int dp[n][k];
	memset(dp, 0, sizeof dp);
	int blackPref[n], whitePref[n];
	for (int i = 0; i < n; i++) {
		whitePref[i] = (i ? whitePref[i - 1] : 0) + (s[i] == '_');
		blackPref[i] = (i ? blackPref[i - 1] : 0) + (s[i] == 'X');
	}
	
	int closest[k];
	memset(closest, -1, sizeof closest);
	for (int i = 0; i < n; i++) {
		for (int j = 1; j < k; j++)
			if (i > c[j] && dp[i - c[j] - 1][j - 1]) {
				closest[j - 1] = i - c[j] - 1;
			}
			
		if (i + 1 >= c[0]) {
			if (i < c[0])
				dp[i][0] = whitePref[i] == 0;
			else
				dp[i][0] = (whitePref[i] - whitePref[i - c[0]] == 0) && (blackPref[i - c[0]] == 0) && (i + 1 == n || s[i + 1] != 'X');
			
			dp[i][0] &= (i + 1 == n) || (s[i + 1] != 'X'); 
		}
		
		for (int j = 1; j < k; j++)
			if (i > c[j])
				dp[i][j] = (whitePref[i] - whitePref[i - c[j]] == 0) && (s[i - c[j]] != 'X') && 
			(i + 1 == n || s[i + 1] != 'X') && (closest[j - 1] != -1) &&
			(blackPref[i - c[j]] - blackPref[closest[j - 1]] == 0);
		
		dp[i][k - 1] &= blackPref[n - 1] - blackPref[i] == 0;
	}
	
	//for (int i = 0; i < k; i++) { for (int j = 0; j < n; j++) cout << dp[j][i]; cout << endl; }
	
	int save[n][k];
	memset(save, 0, sizeof save);
	save[0][k - 1]++;
	
	int nearest[k];
	memset(nearest, -1, sizeof nearest);
	for (int j = 0; j < k; j++)
		for (int i = 0; i < n; i++)
			if (dp[i][j]) {
				nearest[j] = i;
				break;
			}
	
	for (int j = k - 1; j >= 0; j--) {
		int sum = 0;
		for (int i = 0; i < n; i++) {
			sum += save[i][j];
			if (!sum)
				dp[i][j] = 0;
		
			if (j && dp[i][j]) {
				while (blackPref[i - c[j]] - blackPref[nearest[j - 1]])
					nearest[j - 1]++;
				
				save[nearest[j - 1]][j - 1]++;
				save[i - c[j]][j - 1]--;
			}
		}
	}
			
	//for (int i = 0; i < k; i++) { for (int j = 0; j < n; j++) cout << dp[j][i]; cout << endl; }
	
	string ans = s;
	for (char& i : ans)
		if (i == '.')
			i = '?';
		
	int canBeBlack[n], canBeWhite[n];
	memset(canBeBlack, 0, sizeof canBeBlack);
	memset(canBeWhite, 0, sizeof canBeWhite);
	
	memset(nearest, -1, sizeof nearest);
	for (int j = 0; j < k; j++)
		for (int i = 0; i < n; i++)
			if (dp[i][j]) {
				nearest[j] = i;
				break;
			}
	
	for (int i = 0; i < n; i++) {
			
		for (int j = 0; j < k; j++)
			if (dp[i][j]) {
				canBeBlack[i - c[j] + 1]++;
				if (i + 1 < n) 
					canBeBlack[i + 1]--;
				
				if (j == 0) {
					canBeWhite[0]++;
					if (i - c[j] + 1 < n)
						canBeWhite[i - c[j] + 1]--;
				}
				
				if (j == k - 1) {
					if (i + 1 < n)
						canBeWhite[i + 1]++;
				}
				
				if (j > 0 && i - c[j] >= 0) {
					while (blackPref[i - c[j]] - blackPref[nearest[j - 1]])
						nearest[j - 1]++;
					while (nearest[j - 1] < n && !dp[nearest[j - 1]][j - 1])
						nearest[j - 1]++;
				
					//cout << i << " " << j << " " << nearest[j - 1] << endl;
					assert(nearest[j - 1] != -1);
					canBeWhite[nearest[j - 1] + 1]++;
					if (i - c[j] + 1 < n)
						canBeWhite[i - c[j] + 1]--;
				}
			}
	}
		
	int sum = 0, sumw = 0;
	for (int i = 0; i < n; i++) {
		sum += canBeBlack[i];
		sumw += canBeWhite[i];
		//cout << i << " " << sum << " " << sumw << endl;
		if (sum && sumw) 
			assert(ans[i] == '?');
		else if (sum) {
			assert(ans[i] != '_');
			ans[i] = 'X';
		} else if (sumw) {
			assert(ans[i] != 'X');
			ans[i] = '_';
		} else
			assert(0);
	}		
	
	return ans;
}
/* X_X_X
.....
3 1 1 1
*//* ??_X_??
...X...
2 1 1
*//* ?X?__XX__
...__.._.
2 2 2
*//* _X_
.X.
1 1
*//* XX_XX___
.X.X...
2 2 2
*/
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 376 KB n = 13, m = 1
2 Correct 2 ms 376 KB n = 18, m = 1
3 Correct 3 ms 256 KB n = 17, m = 1
4 Correct 2 ms 376 KB n = 1, m = 1
5 Correct 2 ms 376 KB n = 20, m = 1
6 Correct 2 ms 256 KB n = 20, m = 1
7 Correct 2 ms 256 KB n = 20, m = 1
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 376 KB n = 13, m = 1
2 Correct 2 ms 376 KB n = 18, m = 1
3 Correct 3 ms 256 KB n = 17, m = 1
4 Correct 2 ms 376 KB n = 1, m = 1
5 Correct 2 ms 376 KB n = 20, m = 1
6 Correct 2 ms 256 KB n = 20, m = 1
7 Correct 2 ms 256 KB n = 20, m = 1
8 Correct 2 ms 376 KB n = 20, m = 5
9 Correct 2 ms 376 KB n = 18, m = 3
10 Correct 2 ms 256 KB n = 17, m = 2
11 Correct 2 ms 376 KB n = 20, m = 2
12 Correct 2 ms 256 KB n = 17, m = 4
13 Correct 2 ms 376 KB n = 17, m = 6
14 Correct 2 ms 256 KB n = 17, m = 1
15 Correct 2 ms 376 KB n = 17, m = 4
16 Correct 2 ms 256 KB n = 13, m = 3
17 Correct 2 ms 256 KB n = 18, m = 4
18 Correct 2 ms 256 KB n = 20, m = 10
19 Correct 2 ms 256 KB n = 19, m = 10
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 376 KB n = 13, m = 1
2 Correct 2 ms 376 KB n = 18, m = 1
3 Correct 3 ms 256 KB n = 17, m = 1
4 Correct 2 ms 376 KB n = 1, m = 1
5 Correct 2 ms 376 KB n = 20, m = 1
6 Correct 2 ms 256 KB n = 20, m = 1
7 Correct 2 ms 256 KB n = 20, m = 1
8 Correct 2 ms 376 KB n = 20, m = 5
9 Correct 2 ms 376 KB n = 18, m = 3
10 Correct 2 ms 256 KB n = 17, m = 2
11 Correct 2 ms 376 KB n = 20, m = 2
12 Correct 2 ms 256 KB n = 17, m = 4
13 Correct 2 ms 376 KB n = 17, m = 6
14 Correct 2 ms 256 KB n = 17, m = 1
15 Correct 2 ms 376 KB n = 17, m = 4
16 Correct 2 ms 256 KB n = 13, m = 3
17 Correct 2 ms 256 KB n = 18, m = 4
18 Correct 2 ms 256 KB n = 20, m = 10
19 Correct 2 ms 256 KB n = 19, m = 10
20 Correct 2 ms 376 KB n = 100, m = 5
21 Correct 2 ms 376 KB n = 90, m = 3
22 Correct 2 ms 380 KB n = 86, m = 2
23 Correct 2 ms 376 KB n = 81, m = 4
24 Correct 2 ms 376 KB n = 89, m = 10
25 Correct 2 ms 376 KB n = 81, m = 23
26 Correct 2 ms 256 KB n = 86, m = 8
27 Correct 2 ms 256 KB n = 53, m = 22
28 Correct 3 ms 376 KB n = 89, m = 35
29 Correct 2 ms 256 KB n = 63, m = 25
30 Correct 2 ms 376 KB n = 100, m = 50
31 Correct 2 ms 376 KB n = 99, m = 50
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 376 KB n = 13, m = 1
2 Correct 2 ms 376 KB n = 18, m = 1
3 Correct 3 ms 256 KB n = 17, m = 1
4 Correct 2 ms 376 KB n = 1, m = 1
5 Correct 2 ms 376 KB n = 20, m = 1
6 Correct 2 ms 256 KB n = 20, m = 1
7 Correct 2 ms 256 KB n = 20, m = 1
8 Correct 2 ms 376 KB n = 20, m = 5
9 Correct 2 ms 376 KB n = 18, m = 3
10 Correct 2 ms 256 KB n = 17, m = 2
11 Correct 2 ms 376 KB n = 20, m = 2
12 Correct 2 ms 256 KB n = 17, m = 4
13 Correct 2 ms 376 KB n = 17, m = 6
14 Correct 2 ms 256 KB n = 17, m = 1
15 Correct 2 ms 376 KB n = 17, m = 4
16 Correct 2 ms 256 KB n = 13, m = 3
17 Correct 2 ms 256 KB n = 18, m = 4
18 Correct 2 ms 256 KB n = 20, m = 10
19 Correct 2 ms 256 KB n = 19, m = 10
20 Correct 2 ms 376 KB n = 100, m = 5
21 Correct 2 ms 376 KB n = 90, m = 3
22 Correct 2 ms 380 KB n = 86, m = 2
23 Correct 2 ms 376 KB n = 81, m = 4
24 Correct 2 ms 376 KB n = 89, m = 10
25 Correct 2 ms 376 KB n = 81, m = 23
26 Correct 2 ms 256 KB n = 86, m = 8
27 Correct 2 ms 256 KB n = 53, m = 22
28 Correct 3 ms 376 KB n = 89, m = 35
29 Correct 2 ms 256 KB n = 63, m = 25
30 Correct 2 ms 376 KB n = 100, m = 50
31 Correct 2 ms 376 KB n = 99, m = 50
32 Correct 2 ms 256 KB n = 13, m = 4
33 Correct 2 ms 256 KB n = 86, m = 2
34 Correct 2 ms 256 KB n = 88, m = 2
35 Correct 2 ms 256 KB n = 86, m = 2
36 Correct 2 ms 256 KB n = 81, m = 6
37 Correct 2 ms 256 KB n = 98, m = 7
38 Correct 2 ms 256 KB n = 92, m = 7
39 Correct 2 ms 256 KB n = 88, m = 21
40 Correct 2 ms 256 KB n = 90, m = 21
41 Correct 2 ms 376 KB n = 98, m = 22
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 376 KB n = 13, m = 1
2 Correct 2 ms 376 KB n = 18, m = 1
3 Correct 3 ms 256 KB n = 17, m = 1
4 Correct 2 ms 376 KB n = 1, m = 1
5 Correct 2 ms 376 KB n = 20, m = 1
6 Correct 2 ms 256 KB n = 20, m = 1
7 Correct 2 ms 256 KB n = 20, m = 1
8 Correct 2 ms 376 KB n = 20, m = 5
9 Correct 2 ms 376 KB n = 18, m = 3
10 Correct 2 ms 256 KB n = 17, m = 2
11 Correct 2 ms 376 KB n = 20, m = 2
12 Correct 2 ms 256 KB n = 17, m = 4
13 Correct 2 ms 376 KB n = 17, m = 6
14 Correct 2 ms 256 KB n = 17, m = 1
15 Correct 2 ms 376 KB n = 17, m = 4
16 Correct 2 ms 256 KB n = 13, m = 3
17 Correct 2 ms 256 KB n = 18, m = 4
18 Correct 2 ms 256 KB n = 20, m = 10
19 Correct 2 ms 256 KB n = 19, m = 10
20 Correct 2 ms 376 KB n = 100, m = 5
21 Correct 2 ms 376 KB n = 90, m = 3
22 Correct 2 ms 380 KB n = 86, m = 2
23 Correct 2 ms 376 KB n = 81, m = 4
24 Correct 2 ms 376 KB n = 89, m = 10
25 Correct 2 ms 376 KB n = 81, m = 23
26 Correct 2 ms 256 KB n = 86, m = 8
27 Correct 2 ms 256 KB n = 53, m = 22
28 Correct 3 ms 376 KB n = 89, m = 35
29 Correct 2 ms 256 KB n = 63, m = 25
30 Correct 2 ms 376 KB n = 100, m = 50
31 Correct 2 ms 376 KB n = 99, m = 50
32 Correct 2 ms 256 KB n = 13, m = 4
33 Correct 2 ms 256 KB n = 86, m = 2
34 Correct 2 ms 256 KB n = 88, m = 2
35 Correct 2 ms 256 KB n = 86, m = 2
36 Correct 2 ms 256 KB n = 81, m = 6
37 Correct 2 ms 256 KB n = 98, m = 7
38 Correct 2 ms 256 KB n = 92, m = 7
39 Correct 2 ms 256 KB n = 88, m = 21
40 Correct 2 ms 256 KB n = 90, m = 21
41 Correct 2 ms 376 KB n = 98, m = 22
42 Correct 2 ms 376 KB n = 11, m = 2
43 Correct 2 ms 256 KB n = 11, m = 2
44 Correct 2 ms 296 KB n = 13, m = 3
45 Correct 2 ms 256 KB n = 86, m = 2
46 Correct 2 ms 252 KB n = 81, m = 2
47 Correct 2 ms 256 KB n = 93, m = 2
48 Correct 2 ms 376 KB n = 81, m = 2
49 Correct 2 ms 376 KB n = 86, m = 2
50 Correct 3 ms 376 KB n = 90, m = 2
51 Correct 2 ms 376 KB n = 87, m = 2
52 Correct 2 ms 376 KB n = 97, m = 2
53 Correct 2 ms 376 KB n = 85, m = 2
54 Correct 2 ms 256 KB n = 88, m = 7
55 Correct 2 ms 256 KB n = 96, m = 7
56 Correct 2 ms 256 KB n = 85, m = 7
57 Correct 2 ms 376 KB n = 92, m = 7
58 Correct 2 ms 256 KB n = 92, m = 7
59 Correct 2 ms 256 KB n = 86, m = 7
60 Correct 2 ms 376 KB n = 87, m = 7
61 Correct 1 ms 392 KB n = 100, m = 7
62 Correct 2 ms 376 KB n = 100, m = 7
63 Correct 2 ms 376 KB n = 92, m = 21
64 Correct 2 ms 376 KB n = 93, m = 22
65 Correct 2 ms 376 KB n = 95, m = 22
66 Correct 2 ms 380 KB n = 98, m = 22
67 Correct 2 ms 376 KB n = 94, m = 22
68 Correct 3 ms 376 KB n = 93, m = 22
69 Correct 2 ms 380 KB n = 88, m = 21
70 Correct 2 ms 376 KB n = 83, m = 20
71 Correct 2 ms 376 KB n = 99, m = 23
72 Correct 2 ms 376 KB n = 96, m = 19
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 376 KB n = 13, m = 1
2 Correct 2 ms 376 KB n = 18, m = 1
3 Correct 3 ms 256 KB n = 17, m = 1
4 Correct 2 ms 376 KB n = 1, m = 1
5 Correct 2 ms 376 KB n = 20, m = 1
6 Correct 2 ms 256 KB n = 20, m = 1
7 Correct 2 ms 256 KB n = 20, m = 1
8 Correct 2 ms 376 KB n = 20, m = 5
9 Correct 2 ms 376 KB n = 18, m = 3
10 Correct 2 ms 256 KB n = 17, m = 2
11 Correct 2 ms 376 KB n = 20, m = 2
12 Correct 2 ms 256 KB n = 17, m = 4
13 Correct 2 ms 376 KB n = 17, m = 6
14 Correct 2 ms 256 KB n = 17, m = 1
15 Correct 2 ms 376 KB n = 17, m = 4
16 Correct 2 ms 256 KB n = 13, m = 3
17 Correct 2 ms 256 KB n = 18, m = 4
18 Correct 2 ms 256 KB n = 20, m = 10
19 Correct 2 ms 256 KB n = 19, m = 10
20 Correct 2 ms 376 KB n = 100, m = 5
21 Correct 2 ms 376 KB n = 90, m = 3
22 Correct 2 ms 380 KB n = 86, m = 2
23 Correct 2 ms 376 KB n = 81, m = 4
24 Correct 2 ms 376 KB n = 89, m = 10
25 Correct 2 ms 376 KB n = 81, m = 23
26 Correct 2 ms 256 KB n = 86, m = 8
27 Correct 2 ms 256 KB n = 53, m = 22
28 Correct 3 ms 376 KB n = 89, m = 35
29 Correct 2 ms 256 KB n = 63, m = 25
30 Correct 2 ms 376 KB n = 100, m = 50
31 Correct 2 ms 376 KB n = 99, m = 50
32 Correct 2 ms 256 KB n = 13, m = 4
33 Correct 2 ms 256 KB n = 86, m = 2
34 Correct 2 ms 256 KB n = 88, m = 2
35 Correct 2 ms 256 KB n = 86, m = 2
36 Correct 2 ms 256 KB n = 81, m = 6
37 Correct 2 ms 256 KB n = 98, m = 7
38 Correct 2 ms 256 KB n = 92, m = 7
39 Correct 2 ms 256 KB n = 88, m = 21
40 Correct 2 ms 256 KB n = 90, m = 21
41 Correct 2 ms 376 KB n = 98, m = 22
42 Correct 2 ms 376 KB n = 11, m = 2
43 Correct 2 ms 256 KB n = 11, m = 2
44 Correct 2 ms 296 KB n = 13, m = 3
45 Correct 2 ms 256 KB n = 86, m = 2
46 Correct 2 ms 252 KB n = 81, m = 2
47 Correct 2 ms 256 KB n = 93, m = 2
48 Correct 2 ms 376 KB n = 81, m = 2
49 Correct 2 ms 376 KB n = 86, m = 2
50 Correct 3 ms 376 KB n = 90, m = 2
51 Correct 2 ms 376 KB n = 87, m = 2
52 Correct 2 ms 376 KB n = 97, m = 2
53 Correct 2 ms 376 KB n = 85, m = 2
54 Correct 2 ms 256 KB n = 88, m = 7
55 Correct 2 ms 256 KB n = 96, m = 7
56 Correct 2 ms 256 KB n = 85, m = 7
57 Correct 2 ms 376 KB n = 92, m = 7
58 Correct 2 ms 256 KB n = 92, m = 7
59 Correct 2 ms 256 KB n = 86, m = 7
60 Correct 2 ms 376 KB n = 87, m = 7
61 Correct 1 ms 392 KB n = 100, m = 7
62 Correct 2 ms 376 KB n = 100, m = 7
63 Correct 2 ms 376 KB n = 92, m = 21
64 Correct 2 ms 376 KB n = 93, m = 22
65 Correct 2 ms 376 KB n = 95, m = 22
66 Correct 2 ms 380 KB n = 98, m = 22
67 Correct 2 ms 376 KB n = 94, m = 22
68 Correct 3 ms 376 KB n = 93, m = 22
69 Correct 2 ms 380 KB n = 88, m = 21
70 Correct 2 ms 376 KB n = 83, m = 20
71 Correct 2 ms 376 KB n = 99, m = 23
72 Correct 2 ms 376 KB n = 96, m = 19
73 Correct 3 ms 632 KB n = 4825, m = 5
74 Correct 3 ms 504 KB n = 4384, m = 5
75 Correct 3 ms 632 KB n = 4528, m = 5
76 Correct 3 ms 632 KB n = 4980, m = 5
77 Correct 3 ms 632 KB n = 4730, m = 5
78 Correct 3 ms 632 KB n = 4784, m = 5
79 Correct 3 ms 632 KB n = 4875, m = 5
80 Correct 3 ms 624 KB n = 4576, m = 5
81 Correct 3 ms 504 KB n = 4297, m = 5
82 Correct 8 ms 2168 KB n = 4662, m = 48
83 Correct 8 ms 2168 KB n = 4753, m = 49
84 Correct 7 ms 1912 KB n = 4148, m = 46
85 Correct 8 ms 2296 KB n = 4906, m = 50
86 Correct 8 ms 2300 KB n = 4967, m = 50
87 Correct 8 ms 2232 KB n = 4828, m = 49
88 Correct 7 ms 1784 KB n = 4105, m = 45
89 Correct 8 ms 2296 KB n = 4954, m = 50
90 Correct 10 ms 2268 KB n = 4884, m = 49
91 Correct 14 ms 3832 KB n = 4307, m = 100
92 Correct 16 ms 4080 KB n = 4668, m = 100
93 Correct 17 ms 4088 KB n = 4647, m = 100
94 Correct 14 ms 3832 KB n = 4372, m = 100
95 Correct 16 ms 4088 KB n = 4791, m = 100
96 Correct 13 ms 3704 KB n = 4029, m = 100
97 Correct 12 ms 3960 KB n = 4439, m = 100
98 Correct 11 ms 3576 KB n = 4018, m = 100
99 Correct 16 ms 4344 KB n = 4979, m = 100
100 Correct 12 ms 3960 KB n = 4996, m = 89
# 결과 실행 시간 메모리 Grader output
1 Correct 3 ms 376 KB n = 13, m = 1
2 Correct 2 ms 376 KB n = 18, m = 1
3 Correct 3 ms 256 KB n = 17, m = 1
4 Correct 2 ms 376 KB n = 1, m = 1
5 Correct 2 ms 376 KB n = 20, m = 1
6 Correct 2 ms 256 KB n = 20, m = 1
7 Correct 2 ms 256 KB n = 20, m = 1
8 Correct 2 ms 376 KB n = 20, m = 5
9 Correct 2 ms 376 KB n = 18, m = 3
10 Correct 2 ms 256 KB n = 17, m = 2
11 Correct 2 ms 376 KB n = 20, m = 2
12 Correct 2 ms 256 KB n = 17, m = 4
13 Correct 2 ms 376 KB n = 17, m = 6
14 Correct 2 ms 256 KB n = 17, m = 1
15 Correct 2 ms 376 KB n = 17, m = 4
16 Correct 2 ms 256 KB n = 13, m = 3
17 Correct 2 ms 256 KB n = 18, m = 4
18 Correct 2 ms 256 KB n = 20, m = 10
19 Correct 2 ms 256 KB n = 19, m = 10
20 Correct 2 ms 376 KB n = 100, m = 5
21 Correct 2 ms 376 KB n = 90, m = 3
22 Correct 2 ms 380 KB n = 86, m = 2
23 Correct 2 ms 376 KB n = 81, m = 4
24 Correct 2 ms 376 KB n = 89, m = 10
25 Correct 2 ms 376 KB n = 81, m = 23
26 Correct 2 ms 256 KB n = 86, m = 8
27 Correct 2 ms 256 KB n = 53, m = 22
28 Correct 3 ms 376 KB n = 89, m = 35
29 Correct 2 ms 256 KB n = 63, m = 25
30 Correct 2 ms 376 KB n = 100, m = 50
31 Correct 2 ms 376 KB n = 99, m = 50
32 Correct 2 ms 256 KB n = 13, m = 4
33 Correct 2 ms 256 KB n = 86, m = 2
34 Correct 2 ms 256 KB n = 88, m = 2
35 Correct 2 ms 256 KB n = 86, m = 2
36 Correct 2 ms 256 KB n = 81, m = 6
37 Correct 2 ms 256 KB n = 98, m = 7
38 Correct 2 ms 256 KB n = 92, m = 7
39 Correct 2 ms 256 KB n = 88, m = 21
40 Correct 2 ms 256 KB n = 90, m = 21
41 Correct 2 ms 376 KB n = 98, m = 22
42 Correct 2 ms 376 KB n = 11, m = 2
43 Correct 2 ms 256 KB n = 11, m = 2
44 Correct 2 ms 296 KB n = 13, m = 3
45 Correct 2 ms 256 KB n = 86, m = 2
46 Correct 2 ms 252 KB n = 81, m = 2
47 Correct 2 ms 256 KB n = 93, m = 2
48 Correct 2 ms 376 KB n = 81, m = 2
49 Correct 2 ms 376 KB n = 86, m = 2
50 Correct 3 ms 376 KB n = 90, m = 2
51 Correct 2 ms 376 KB n = 87, m = 2
52 Correct 2 ms 376 KB n = 97, m = 2
53 Correct 2 ms 376 KB n = 85, m = 2
54 Correct 2 ms 256 KB n = 88, m = 7
55 Correct 2 ms 256 KB n = 96, m = 7
56 Correct 2 ms 256 KB n = 85, m = 7
57 Correct 2 ms 376 KB n = 92, m = 7
58 Correct 2 ms 256 KB n = 92, m = 7
59 Correct 2 ms 256 KB n = 86, m = 7
60 Correct 2 ms 376 KB n = 87, m = 7
61 Correct 1 ms 392 KB n = 100, m = 7
62 Correct 2 ms 376 KB n = 100, m = 7
63 Correct 2 ms 376 KB n = 92, m = 21
64 Correct 2 ms 376 KB n = 93, m = 22
65 Correct 2 ms 376 KB n = 95, m = 22
66 Correct 2 ms 380 KB n = 98, m = 22
67 Correct 2 ms 376 KB n = 94, m = 22
68 Correct 3 ms 376 KB n = 93, m = 22
69 Correct 2 ms 380 KB n = 88, m = 21
70 Correct 2 ms 376 KB n = 83, m = 20
71 Correct 2 ms 376 KB n = 99, m = 23
72 Correct 2 ms 376 KB n = 96, m = 19
73 Correct 3 ms 632 KB n = 4825, m = 5
74 Correct 3 ms 504 KB n = 4384, m = 5
75 Correct 3 ms 632 KB n = 4528, m = 5
76 Correct 3 ms 632 KB n = 4980, m = 5
77 Correct 3 ms 632 KB n = 4730, m = 5
78 Correct 3 ms 632 KB n = 4784, m = 5
79 Correct 3 ms 632 KB n = 4875, m = 5
80 Correct 3 ms 624 KB n = 4576, m = 5
81 Correct 3 ms 504 KB n = 4297, m = 5
82 Correct 8 ms 2168 KB n = 4662, m = 48
83 Correct 8 ms 2168 KB n = 4753, m = 49
84 Correct 7 ms 1912 KB n = 4148, m = 46
85 Correct 8 ms 2296 KB n = 4906, m = 50
86 Correct 8 ms 2300 KB n = 4967, m = 50
87 Correct 8 ms 2232 KB n = 4828, m = 49
88 Correct 7 ms 1784 KB n = 4105, m = 45
89 Correct 8 ms 2296 KB n = 4954, m = 50
90 Correct 10 ms 2268 KB n = 4884, m = 49
91 Correct 14 ms 3832 KB n = 4307, m = 100
92 Correct 16 ms 4080 KB n = 4668, m = 100
93 Correct 17 ms 4088 KB n = 4647, m = 100
94 Correct 14 ms 3832 KB n = 4372, m = 100
95 Correct 16 ms 4088 KB n = 4791, m = 100
96 Correct 13 ms 3704 KB n = 4029, m = 100
97 Correct 12 ms 3960 KB n = 4439, m = 100
98 Correct 11 ms 3576 KB n = 4018, m = 100
99 Correct 16 ms 4344 KB n = 4979, m = 100
100 Correct 12 ms 3960 KB n = 4996, m = 89
101 Correct 45 ms 18040 KB n = 178952, m = 10
102 Correct 44 ms 18168 KB n = 180674, m = 10
103 Correct 41 ms 16888 KB n = 167639, m = 10
104 Correct 42 ms 17476 KB n = 172892, m = 10
105 Correct 40 ms 17016 KB n = 168125, m = 10
106 Correct 40 ms 16852 KB n = 166514, m = 10
107 Correct 45 ms 18552 KB n = 183874, m = 10
108 Correct 47 ms 19576 KB n = 194560, m = 10
109 Correct 40 ms 17360 KB n = 171994, m = 10
110 Correct 998 ms 133076 KB n = 165207, m = 100
111 Correct 1002 ms 151800 KB n = 188459, m = 100
112 Correct 834 ms 130772 KB n = 162137, m = 100
113 Correct 867 ms 136696 KB n = 169691, m = 100
114 Correct 981 ms 151128 KB n = 187642, m = 100
115 Correct 846 ms 135752 KB n = 168456, m = 100
116 Correct 911 ms 145756 KB n = 180980, m = 100
117 Correct 1012 ms 154320 KB n = 191687, m = 100
118 Correct 821 ms 134076 KB n = 166437, m = 100
119 Correct 958 ms 150264 KB n = 186520, m = 100
120 Correct 869 ms 134392 KB n = 166675, m = 100
121 Correct 973 ms 151288 KB n = 187725, m = 100
122 Correct 790 ms 130296 KB n = 161455, m = 100
123 Correct 992 ms 155512 KB n = 192977, m = 100
124 Correct 1071 ms 155128 KB n = 192612, m = 100
125 Correct 991 ms 158264 KB n = 196512, m = 100
126 Correct 1152 ms 160252 KB n = 198968, m = 100
127 Correct 925 ms 134300 KB n = 166659, m = 100
128 Correct 314 ms 57732 KB n = 199997, m = 34
129 Correct 12 ms 6008 KB n = 200000, m = 1
130 Correct 15 ms 6008 KB n = 200000, m = 1
131 Correct 1324 ms 161024 KB n = 199999, m = 100
132 Correct 989 ms 161204 KB n = 199999, m = 100
133 Correct 10 ms 6068 KB n = 200000, m = 1