Submission #51415

# Submission time Handle Problem Language Result Execution time Memory
51415 2018-06-18T01:25:15 Z tincamatei Paint By Numbers (IOI16_paint) C++14
100 / 100
474 ms 49044 KB
#include <bits/stdc++.h>

using namespace std;

#ifndef HOME
#include "paint.h"
#endif

const int MAX_N = 200000;
const int MAX_K = 100;

int white[1+MAX_N];
bool pref[1+MAX_K][1+MAX_N];
bool suff[1+MAX_K][1+MAX_N];
int smen[1+MAX_N+1];

void calcdp(int n, int k, string clues, vector<int> block, bool dp[1+MAX_K][1+MAX_N]) {
	dp[0][0] = true;
	for(int i = 1; i <= n; ++i)
		white[i] = white[i - 1] + (clues[i] == '_');
	
	for(int i = 1; i <= n; ++i) {
		if(clues[i] == 'X')
			dp[0][i] = false;
		else
			dp[0][i] = dp[0][i - 1];
	}

	for(int j = 1; j <= k; ++j) {
		for(int i = block[j]; i <= n; ++i)
			if(clues[i] == '_')
				dp[j][i] = dp[j][i - 1];
			else if(clues[i] == 'X' && clues[i - block[j]] != 'X' && white[i] - white[i - block[j]] == 0)
				dp[j][i] = dp[j - 1][max(i - block[j] - 1, 0)];
			else if(clues[i] == '.') {
				dp[j][i] = dp[j][i - 1];
				if(white[i] - white[i - block[j]] == 0 && clues[i - block[j]] != 'X')
					dp[j][i] |= dp[j - 1][max(i - block[j] - 1, 0)];
			}
	}
}

string solve_puzzle(string clues, vector<int> block) {
	int n, k;
	n = clues.size();
	k = block.size();
	clues.insert(clues.begin(), 0);
	block.insert(block.begin(), 0);

	string result(n, '.');
	
	calcdp(n, k, clues, block, pref);
	
	reverse(clues.begin() + 1, clues.end());
	reverse(block.begin() + 1, block.end());

	calcdp(n, k, clues, block, suff);

	reverse(clues.begin() + 1, clues.end());
	reverse(block.begin() + 1, block.end());
	
	clues.push_back('.');
	
	/*for(int j = 0; j <= k; ++j) {
		for(int i = 1; i <= n; ++i)
			printf("%d ", pref[j][i]);
		printf("\n");
	}
	printf("\n");
	for(int j = 0; j <= k; ++j) {
		for(int i = 1; i <= n; ++i)
			printf("%d ", suff[j][i]);
		printf("\n");
	}
	printf("\n");
*/
	for(int i = 0; i <= k; ++i)
		for(int j = 1; j <= n; ++j) {
			if(clues[j] != 'X' && pref[i][j - 1] && suff[k - i][max(n - j, 0)])
				result[j - 1] = '_';
		}
	
	for(int i = 1; i <= n; ++i)
		white[i] = white[i - 1] + (clues[i] == '_');

	for(int j = 1; j <= k; ++j) {
		for(int i = block[j]; i <= n; ++i) {
			if(white[i] - white[i - block[j]] == 0 && // ultima bucata nu are restrictii albe
			   clues[i + 1] != 'X' && 
				 clues[i - block[j]] != 'X' &&
				 pref[j - 1][max(i - block[j] - 1, 0)] &&
				 suff[k - j][max(n - i - 1, 0)]) {
	//			printf("Put block %d: %d <-> %d\n", j, i - block[j] + 1, i);
				smen[i - block[j] + 1]++;
				smen[i + 1]--;
			}
		}
	}
	
	int p = 0;
	for(int i = 1; i <= n; ++i) {
		p += smen[i];
		if(p > 0 && result[i - 1] == '_')
			result[i - 1] = '?';
		else if(p > 0)
			result[i - 1] = 'X';
	}

	return result;
}

#ifdef HOME
int main() {
#ifdef HOME
	FILE *fin = fopen("input.in", "r");
	FILE *fout = fopen("output.out", "w");
#else
	FILE *fin = stdin;
	FILE *fout = stdout;
#endif
	
	const int S_MAX_LEN = 200 * 1000;
	char buf[S_MAX_LEN + 1];

  assert(1 == fscanf(fin, "%s", buf));
  std::string s = buf;
  int c_len;
  assert(1 == fscanf(fin, "%d", &c_len));
  std::vector<int> c(c_len);
  for (int i = 0; i < c_len; i++) {
    assert(1 == fscanf(fin, "%d", &c[i]));
  }
  std::string ans = solve_puzzle(s, c);

  fprintf(fout, "%s\n", ans.data());

#ifdef HOME
	fclose(fin);
	fclose(fout);
#endif
	return 0;
}
#endif
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 13, m = 1
2 Correct 3 ms 436 KB n = 18, m = 1
3 Correct 2 ms 436 KB n = 17, m = 1
4 Correct 3 ms 584 KB n = 1, m = 1
5 Correct 2 ms 584 KB n = 20, m = 1
6 Correct 2 ms 584 KB n = 20, m = 1
7 Correct 2 ms 620 KB n = 20, m = 1
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 13, m = 1
2 Correct 3 ms 436 KB n = 18, m = 1
3 Correct 2 ms 436 KB n = 17, m = 1
4 Correct 3 ms 584 KB n = 1, m = 1
5 Correct 2 ms 584 KB n = 20, m = 1
6 Correct 2 ms 584 KB n = 20, m = 1
7 Correct 2 ms 620 KB n = 20, m = 1
8 Correct 2 ms 620 KB n = 20, m = 5
9 Correct 2 ms 628 KB n = 18, m = 3
10 Correct 2 ms 692 KB n = 17, m = 2
11 Correct 2 ms 712 KB n = 20, m = 2
12 Correct 2 ms 712 KB n = 17, m = 4
13 Correct 3 ms 712 KB n = 17, m = 6
14 Correct 3 ms 724 KB n = 17, m = 1
15 Correct 2 ms 728 KB n = 17, m = 4
16 Correct 2 ms 732 KB n = 13, m = 3
17 Correct 2 ms 736 KB n = 18, m = 4
18 Correct 2 ms 740 KB n = 20, m = 10
19 Correct 2 ms 760 KB n = 19, m = 10
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 13, m = 1
2 Correct 3 ms 436 KB n = 18, m = 1
3 Correct 2 ms 436 KB n = 17, m = 1
4 Correct 3 ms 584 KB n = 1, m = 1
5 Correct 2 ms 584 KB n = 20, m = 1
6 Correct 2 ms 584 KB n = 20, m = 1
7 Correct 2 ms 620 KB n = 20, m = 1
8 Correct 2 ms 620 KB n = 20, m = 5
9 Correct 2 ms 628 KB n = 18, m = 3
10 Correct 2 ms 692 KB n = 17, m = 2
11 Correct 2 ms 712 KB n = 20, m = 2
12 Correct 2 ms 712 KB n = 17, m = 4
13 Correct 3 ms 712 KB n = 17, m = 6
14 Correct 3 ms 724 KB n = 17, m = 1
15 Correct 2 ms 728 KB n = 17, m = 4
16 Correct 2 ms 732 KB n = 13, m = 3
17 Correct 2 ms 736 KB n = 18, m = 4
18 Correct 2 ms 740 KB n = 20, m = 10
19 Correct 2 ms 760 KB n = 19, m = 10
20 Correct 3 ms 876 KB n = 100, m = 5
21 Correct 2 ms 876 KB n = 90, m = 3
22 Correct 2 ms 876 KB n = 86, m = 2
23 Correct 2 ms 876 KB n = 81, m = 4
24 Correct 2 ms 876 KB n = 89, m = 10
25 Correct 4 ms 936 KB n = 81, m = 23
26 Correct 2 ms 936 KB n = 86, m = 8
27 Correct 3 ms 936 KB n = 53, m = 22
28 Correct 3 ms 1076 KB n = 89, m = 35
29 Correct 2 ms 1076 KB n = 63, m = 25
30 Correct 3 ms 1212 KB n = 100, m = 50
31 Correct 3 ms 1216 KB n = 99, m = 50
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 13, m = 1
2 Correct 3 ms 436 KB n = 18, m = 1
3 Correct 2 ms 436 KB n = 17, m = 1
4 Correct 3 ms 584 KB n = 1, m = 1
5 Correct 2 ms 584 KB n = 20, m = 1
6 Correct 2 ms 584 KB n = 20, m = 1
7 Correct 2 ms 620 KB n = 20, m = 1
8 Correct 2 ms 620 KB n = 20, m = 5
9 Correct 2 ms 628 KB n = 18, m = 3
10 Correct 2 ms 692 KB n = 17, m = 2
11 Correct 2 ms 712 KB n = 20, m = 2
12 Correct 2 ms 712 KB n = 17, m = 4
13 Correct 3 ms 712 KB n = 17, m = 6
14 Correct 3 ms 724 KB n = 17, m = 1
15 Correct 2 ms 728 KB n = 17, m = 4
16 Correct 2 ms 732 KB n = 13, m = 3
17 Correct 2 ms 736 KB n = 18, m = 4
18 Correct 2 ms 740 KB n = 20, m = 10
19 Correct 2 ms 760 KB n = 19, m = 10
20 Correct 3 ms 876 KB n = 100, m = 5
21 Correct 2 ms 876 KB n = 90, m = 3
22 Correct 2 ms 876 KB n = 86, m = 2
23 Correct 2 ms 876 KB n = 81, m = 4
24 Correct 2 ms 876 KB n = 89, m = 10
25 Correct 4 ms 936 KB n = 81, m = 23
26 Correct 2 ms 936 KB n = 86, m = 8
27 Correct 3 ms 936 KB n = 53, m = 22
28 Correct 3 ms 1076 KB n = 89, m = 35
29 Correct 2 ms 1076 KB n = 63, m = 25
30 Correct 3 ms 1212 KB n = 100, m = 50
31 Correct 3 ms 1216 KB n = 99, m = 50
32 Correct 2 ms 1216 KB n = 13, m = 4
33 Correct 3 ms 1216 KB n = 86, m = 2
34 Correct 3 ms 1216 KB n = 88, m = 2
35 Correct 2 ms 1216 KB n = 86, m = 2
36 Correct 2 ms 1216 KB n = 81, m = 6
37 Correct 2 ms 1216 KB n = 98, m = 7
38 Correct 2 ms 1216 KB n = 92, m = 7
39 Correct 3 ms 1216 KB n = 88, m = 21
40 Correct 2 ms 1216 KB n = 90, m = 21
41 Correct 2 ms 1216 KB n = 98, m = 22
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 13, m = 1
2 Correct 3 ms 436 KB n = 18, m = 1
3 Correct 2 ms 436 KB n = 17, m = 1
4 Correct 3 ms 584 KB n = 1, m = 1
5 Correct 2 ms 584 KB n = 20, m = 1
6 Correct 2 ms 584 KB n = 20, m = 1
7 Correct 2 ms 620 KB n = 20, m = 1
8 Correct 2 ms 620 KB n = 20, m = 5
9 Correct 2 ms 628 KB n = 18, m = 3
10 Correct 2 ms 692 KB n = 17, m = 2
11 Correct 2 ms 712 KB n = 20, m = 2
12 Correct 2 ms 712 KB n = 17, m = 4
13 Correct 3 ms 712 KB n = 17, m = 6
14 Correct 3 ms 724 KB n = 17, m = 1
15 Correct 2 ms 728 KB n = 17, m = 4
16 Correct 2 ms 732 KB n = 13, m = 3
17 Correct 2 ms 736 KB n = 18, m = 4
18 Correct 2 ms 740 KB n = 20, m = 10
19 Correct 2 ms 760 KB n = 19, m = 10
20 Correct 3 ms 876 KB n = 100, m = 5
21 Correct 2 ms 876 KB n = 90, m = 3
22 Correct 2 ms 876 KB n = 86, m = 2
23 Correct 2 ms 876 KB n = 81, m = 4
24 Correct 2 ms 876 KB n = 89, m = 10
25 Correct 4 ms 936 KB n = 81, m = 23
26 Correct 2 ms 936 KB n = 86, m = 8
27 Correct 3 ms 936 KB n = 53, m = 22
28 Correct 3 ms 1076 KB n = 89, m = 35
29 Correct 2 ms 1076 KB n = 63, m = 25
30 Correct 3 ms 1212 KB n = 100, m = 50
31 Correct 3 ms 1216 KB n = 99, m = 50
32 Correct 2 ms 1216 KB n = 13, m = 4
33 Correct 3 ms 1216 KB n = 86, m = 2
34 Correct 3 ms 1216 KB n = 88, m = 2
35 Correct 2 ms 1216 KB n = 86, m = 2
36 Correct 2 ms 1216 KB n = 81, m = 6
37 Correct 2 ms 1216 KB n = 98, m = 7
38 Correct 2 ms 1216 KB n = 92, m = 7
39 Correct 3 ms 1216 KB n = 88, m = 21
40 Correct 2 ms 1216 KB n = 90, m = 21
41 Correct 2 ms 1216 KB n = 98, m = 22
42 Correct 2 ms 1216 KB n = 11, m = 2
43 Correct 2 ms 1216 KB n = 11, m = 2
44 Correct 2 ms 1216 KB n = 13, m = 3
45 Correct 2 ms 1216 KB n = 86, m = 2
46 Correct 2 ms 1216 KB n = 81, m = 2
47 Correct 2 ms 1216 KB n = 93, m = 2
48 Correct 2 ms 1216 KB n = 81, m = 2
49 Correct 2 ms 1216 KB n = 86, m = 2
50 Correct 2 ms 1216 KB n = 90, m = 2
51 Correct 2 ms 1216 KB n = 87, m = 2
52 Correct 3 ms 1216 KB n = 97, m = 2
53 Correct 3 ms 1216 KB n = 85, m = 2
54 Correct 2 ms 1216 KB n = 88, m = 7
55 Correct 2 ms 1216 KB n = 96, m = 7
56 Correct 3 ms 1216 KB n = 85, m = 7
57 Correct 2 ms 1216 KB n = 92, m = 7
58 Correct 2 ms 1216 KB n = 92, m = 7
59 Correct 2 ms 1216 KB n = 86, m = 7
60 Correct 2 ms 1216 KB n = 87, m = 7
61 Correct 2 ms 1216 KB n = 100, m = 7
62 Correct 2 ms 1216 KB n = 100, m = 7
63 Correct 3 ms 1216 KB n = 92, m = 21
64 Correct 2 ms 1216 KB n = 93, m = 22
65 Correct 2 ms 1216 KB n = 95, m = 22
66 Correct 2 ms 1216 KB n = 98, m = 22
67 Correct 3 ms 1216 KB n = 94, m = 22
68 Correct 2 ms 1216 KB n = 93, m = 22
69 Correct 3 ms 1216 KB n = 88, m = 21
70 Correct 3 ms 1216 KB n = 83, m = 20
71 Correct 3 ms 1216 KB n = 99, m = 23
72 Correct 3 ms 1216 KB n = 96, m = 19
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 13, m = 1
2 Correct 3 ms 436 KB n = 18, m = 1
3 Correct 2 ms 436 KB n = 17, m = 1
4 Correct 3 ms 584 KB n = 1, m = 1
5 Correct 2 ms 584 KB n = 20, m = 1
6 Correct 2 ms 584 KB n = 20, m = 1
7 Correct 2 ms 620 KB n = 20, m = 1
8 Correct 2 ms 620 KB n = 20, m = 5
9 Correct 2 ms 628 KB n = 18, m = 3
10 Correct 2 ms 692 KB n = 17, m = 2
11 Correct 2 ms 712 KB n = 20, m = 2
12 Correct 2 ms 712 KB n = 17, m = 4
13 Correct 3 ms 712 KB n = 17, m = 6
14 Correct 3 ms 724 KB n = 17, m = 1
15 Correct 2 ms 728 KB n = 17, m = 4
16 Correct 2 ms 732 KB n = 13, m = 3
17 Correct 2 ms 736 KB n = 18, m = 4
18 Correct 2 ms 740 KB n = 20, m = 10
19 Correct 2 ms 760 KB n = 19, m = 10
20 Correct 3 ms 876 KB n = 100, m = 5
21 Correct 2 ms 876 KB n = 90, m = 3
22 Correct 2 ms 876 KB n = 86, m = 2
23 Correct 2 ms 876 KB n = 81, m = 4
24 Correct 2 ms 876 KB n = 89, m = 10
25 Correct 4 ms 936 KB n = 81, m = 23
26 Correct 2 ms 936 KB n = 86, m = 8
27 Correct 3 ms 936 KB n = 53, m = 22
28 Correct 3 ms 1076 KB n = 89, m = 35
29 Correct 2 ms 1076 KB n = 63, m = 25
30 Correct 3 ms 1212 KB n = 100, m = 50
31 Correct 3 ms 1216 KB n = 99, m = 50
32 Correct 2 ms 1216 KB n = 13, m = 4
33 Correct 3 ms 1216 KB n = 86, m = 2
34 Correct 3 ms 1216 KB n = 88, m = 2
35 Correct 2 ms 1216 KB n = 86, m = 2
36 Correct 2 ms 1216 KB n = 81, m = 6
37 Correct 2 ms 1216 KB n = 98, m = 7
38 Correct 2 ms 1216 KB n = 92, m = 7
39 Correct 3 ms 1216 KB n = 88, m = 21
40 Correct 2 ms 1216 KB n = 90, m = 21
41 Correct 2 ms 1216 KB n = 98, m = 22
42 Correct 2 ms 1216 KB n = 11, m = 2
43 Correct 2 ms 1216 KB n = 11, m = 2
44 Correct 2 ms 1216 KB n = 13, m = 3
45 Correct 2 ms 1216 KB n = 86, m = 2
46 Correct 2 ms 1216 KB n = 81, m = 2
47 Correct 2 ms 1216 KB n = 93, m = 2
48 Correct 2 ms 1216 KB n = 81, m = 2
49 Correct 2 ms 1216 KB n = 86, m = 2
50 Correct 2 ms 1216 KB n = 90, m = 2
51 Correct 2 ms 1216 KB n = 87, m = 2
52 Correct 3 ms 1216 KB n = 97, m = 2
53 Correct 3 ms 1216 KB n = 85, m = 2
54 Correct 2 ms 1216 KB n = 88, m = 7
55 Correct 2 ms 1216 KB n = 96, m = 7
56 Correct 3 ms 1216 KB n = 85, m = 7
57 Correct 2 ms 1216 KB n = 92, m = 7
58 Correct 2 ms 1216 KB n = 92, m = 7
59 Correct 2 ms 1216 KB n = 86, m = 7
60 Correct 2 ms 1216 KB n = 87, m = 7
61 Correct 2 ms 1216 KB n = 100, m = 7
62 Correct 2 ms 1216 KB n = 100, m = 7
63 Correct 3 ms 1216 KB n = 92, m = 21
64 Correct 2 ms 1216 KB n = 93, m = 22
65 Correct 2 ms 1216 KB n = 95, m = 22
66 Correct 2 ms 1216 KB n = 98, m = 22
67 Correct 3 ms 1216 KB n = 94, m = 22
68 Correct 2 ms 1216 KB n = 93, m = 22
69 Correct 3 ms 1216 KB n = 88, m = 21
70 Correct 3 ms 1216 KB n = 83, m = 20
71 Correct 3 ms 1216 KB n = 99, m = 23
72 Correct 3 ms 1216 KB n = 96, m = 19
73 Correct 3 ms 1216 KB n = 4825, m = 5
74 Correct 3 ms 1216 KB n = 4384, m = 5
75 Correct 3 ms 1216 KB n = 4528, m = 5
76 Correct 3 ms 1224 KB n = 4980, m = 5
77 Correct 4 ms 1232 KB n = 4730, m = 5
78 Correct 3 ms 1256 KB n = 4784, m = 5
79 Correct 3 ms 1264 KB n = 4875, m = 5
80 Correct 3 ms 1272 KB n = 4576, m = 5
81 Correct 3 ms 1364 KB n = 4297, m = 5
82 Correct 8 ms 2140 KB n = 4662, m = 48
83 Correct 11 ms 2140 KB n = 4753, m = 49
84 Correct 10 ms 2140 KB n = 4148, m = 46
85 Correct 7 ms 2140 KB n = 4906, m = 50
86 Correct 9 ms 2220 KB n = 4967, m = 50
87 Correct 7 ms 2220 KB n = 4828, m = 49
88 Correct 5 ms 2220 KB n = 4105, m = 45
89 Correct 6 ms 2244 KB n = 4954, m = 50
90 Correct 7 ms 2244 KB n = 4884, m = 49
91 Correct 14 ms 3060 KB n = 4307, m = 100
92 Correct 15 ms 3068 KB n = 4668, m = 100
93 Correct 16 ms 3076 KB n = 4647, m = 100
94 Correct 14 ms 3084 KB n = 4372, m = 100
95 Correct 14 ms 3092 KB n = 4791, m = 100
96 Correct 10 ms 3092 KB n = 4029, m = 100
97 Correct 10 ms 3092 KB n = 4439, m = 100
98 Correct 9 ms 3092 KB n = 4018, m = 100
99 Correct 12 ms 3252 KB n = 4979, m = 100
100 Correct 10 ms 3252 KB n = 4996, m = 89
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 13, m = 1
2 Correct 3 ms 436 KB n = 18, m = 1
3 Correct 2 ms 436 KB n = 17, m = 1
4 Correct 3 ms 584 KB n = 1, m = 1
5 Correct 2 ms 584 KB n = 20, m = 1
6 Correct 2 ms 584 KB n = 20, m = 1
7 Correct 2 ms 620 KB n = 20, m = 1
8 Correct 2 ms 620 KB n = 20, m = 5
9 Correct 2 ms 628 KB n = 18, m = 3
10 Correct 2 ms 692 KB n = 17, m = 2
11 Correct 2 ms 712 KB n = 20, m = 2
12 Correct 2 ms 712 KB n = 17, m = 4
13 Correct 3 ms 712 KB n = 17, m = 6
14 Correct 3 ms 724 KB n = 17, m = 1
15 Correct 2 ms 728 KB n = 17, m = 4
16 Correct 2 ms 732 KB n = 13, m = 3
17 Correct 2 ms 736 KB n = 18, m = 4
18 Correct 2 ms 740 KB n = 20, m = 10
19 Correct 2 ms 760 KB n = 19, m = 10
20 Correct 3 ms 876 KB n = 100, m = 5
21 Correct 2 ms 876 KB n = 90, m = 3
22 Correct 2 ms 876 KB n = 86, m = 2
23 Correct 2 ms 876 KB n = 81, m = 4
24 Correct 2 ms 876 KB n = 89, m = 10
25 Correct 4 ms 936 KB n = 81, m = 23
26 Correct 2 ms 936 KB n = 86, m = 8
27 Correct 3 ms 936 KB n = 53, m = 22
28 Correct 3 ms 1076 KB n = 89, m = 35
29 Correct 2 ms 1076 KB n = 63, m = 25
30 Correct 3 ms 1212 KB n = 100, m = 50
31 Correct 3 ms 1216 KB n = 99, m = 50
32 Correct 2 ms 1216 KB n = 13, m = 4
33 Correct 3 ms 1216 KB n = 86, m = 2
34 Correct 3 ms 1216 KB n = 88, m = 2
35 Correct 2 ms 1216 KB n = 86, m = 2
36 Correct 2 ms 1216 KB n = 81, m = 6
37 Correct 2 ms 1216 KB n = 98, m = 7
38 Correct 2 ms 1216 KB n = 92, m = 7
39 Correct 3 ms 1216 KB n = 88, m = 21
40 Correct 2 ms 1216 KB n = 90, m = 21
41 Correct 2 ms 1216 KB n = 98, m = 22
42 Correct 2 ms 1216 KB n = 11, m = 2
43 Correct 2 ms 1216 KB n = 11, m = 2
44 Correct 2 ms 1216 KB n = 13, m = 3
45 Correct 2 ms 1216 KB n = 86, m = 2
46 Correct 2 ms 1216 KB n = 81, m = 2
47 Correct 2 ms 1216 KB n = 93, m = 2
48 Correct 2 ms 1216 KB n = 81, m = 2
49 Correct 2 ms 1216 KB n = 86, m = 2
50 Correct 2 ms 1216 KB n = 90, m = 2
51 Correct 2 ms 1216 KB n = 87, m = 2
52 Correct 3 ms 1216 KB n = 97, m = 2
53 Correct 3 ms 1216 KB n = 85, m = 2
54 Correct 2 ms 1216 KB n = 88, m = 7
55 Correct 2 ms 1216 KB n = 96, m = 7
56 Correct 3 ms 1216 KB n = 85, m = 7
57 Correct 2 ms 1216 KB n = 92, m = 7
58 Correct 2 ms 1216 KB n = 92, m = 7
59 Correct 2 ms 1216 KB n = 86, m = 7
60 Correct 2 ms 1216 KB n = 87, m = 7
61 Correct 2 ms 1216 KB n = 100, m = 7
62 Correct 2 ms 1216 KB n = 100, m = 7
63 Correct 3 ms 1216 KB n = 92, m = 21
64 Correct 2 ms 1216 KB n = 93, m = 22
65 Correct 2 ms 1216 KB n = 95, m = 22
66 Correct 2 ms 1216 KB n = 98, m = 22
67 Correct 3 ms 1216 KB n = 94, m = 22
68 Correct 2 ms 1216 KB n = 93, m = 22
69 Correct 3 ms 1216 KB n = 88, m = 21
70 Correct 3 ms 1216 KB n = 83, m = 20
71 Correct 3 ms 1216 KB n = 99, m = 23
72 Correct 3 ms 1216 KB n = 96, m = 19
73 Correct 3 ms 1216 KB n = 4825, m = 5
74 Correct 3 ms 1216 KB n = 4384, m = 5
75 Correct 3 ms 1216 KB n = 4528, m = 5
76 Correct 3 ms 1224 KB n = 4980, m = 5
77 Correct 4 ms 1232 KB n = 4730, m = 5
78 Correct 3 ms 1256 KB n = 4784, m = 5
79 Correct 3 ms 1264 KB n = 4875, m = 5
80 Correct 3 ms 1272 KB n = 4576, m = 5
81 Correct 3 ms 1364 KB n = 4297, m = 5
82 Correct 8 ms 2140 KB n = 4662, m = 48
83 Correct 11 ms 2140 KB n = 4753, m = 49
84 Correct 10 ms 2140 KB n = 4148, m = 46
85 Correct 7 ms 2140 KB n = 4906, m = 50
86 Correct 9 ms 2220 KB n = 4967, m = 50
87 Correct 7 ms 2220 KB n = 4828, m = 49
88 Correct 5 ms 2220 KB n = 4105, m = 45
89 Correct 6 ms 2244 KB n = 4954, m = 50
90 Correct 7 ms 2244 KB n = 4884, m = 49
91 Correct 14 ms 3060 KB n = 4307, m = 100
92 Correct 15 ms 3068 KB n = 4668, m = 100
93 Correct 16 ms 3076 KB n = 4647, m = 100
94 Correct 14 ms 3084 KB n = 4372, m = 100
95 Correct 14 ms 3092 KB n = 4791, m = 100
96 Correct 10 ms 3092 KB n = 4029, m = 100
97 Correct 10 ms 3092 KB n = 4439, m = 100
98 Correct 9 ms 3092 KB n = 4018, m = 100
99 Correct 12 ms 3252 KB n = 4979, m = 100
100 Correct 10 ms 3252 KB n = 4996, m = 89
101 Correct 52 ms 6936 KB n = 178952, m = 10
102 Correct 48 ms 7176 KB n = 180674, m = 10
103 Correct 40 ms 7176 KB n = 167639, m = 10
104 Correct 51 ms 7456 KB n = 172892, m = 10
105 Correct 33 ms 7456 KB n = 168125, m = 10
106 Correct 31 ms 7456 KB n = 166514, m = 10
107 Correct 36 ms 8112 KB n = 183874, m = 10
108 Correct 29 ms 8664 KB n = 194560, m = 10
109 Correct 29 ms 8664 KB n = 171994, m = 10
110 Correct 439 ms 38372 KB n = 165207, m = 100
111 Correct 436 ms 43432 KB n = 188459, m = 100
112 Correct 376 ms 43432 KB n = 162137, m = 100
113 Correct 296 ms 43432 KB n = 169691, m = 100
114 Correct 282 ms 43792 KB n = 187642, m = 100
115 Correct 253 ms 43792 KB n = 168456, m = 100
116 Correct 271 ms 43792 KB n = 180980, m = 100
117 Correct 284 ms 45084 KB n = 191687, m = 100
118 Correct 188 ms 45084 KB n = 166437, m = 100
119 Correct 474 ms 45084 KB n = 186520, m = 100
120 Correct 411 ms 45084 KB n = 166675, m = 100
121 Correct 413 ms 45084 KB n = 187725, m = 100
122 Correct 274 ms 45084 KB n = 161455, m = 100
123 Correct 273 ms 46336 KB n = 192977, m = 100
124 Correct 261 ms 46488 KB n = 192612, m = 100
125 Correct 319 ms 47632 KB n = 196512, m = 100
126 Correct 257 ms 47744 KB n = 198968, m = 100
127 Correct 187 ms 47744 KB n = 166659, m = 100
128 Correct 92 ms 47744 KB n = 199997, m = 34
129 Correct 9 ms 47744 KB n = 200000, m = 1
130 Correct 12 ms 47744 KB n = 200000, m = 1
131 Correct 328 ms 49044 KB n = 199999, m = 100
132 Correct 273 ms 49044 KB n = 199999, m = 100
133 Correct 7 ms 49044 KB n = 200000, m = 1