Submission #70322

# Submission time Handle Problem Language Result Execution time Memory
70322 2018-08-22T15:24:46 Z Eae02 Paint By Numbers (IOI16_paint) C++14
100 / 100
782 ms 39800 KB
#include "paint.h"

#include <cstdlib>

struct Cell
{
    bool forcedB = false;
    bool canW = false;
    int delB = 0;
};

std::vector<Cell> cells;

std::vector<int> blockSizes;

uint8_t memo[200000][100];

int numForcedWBefore[200000];

bool f(int i, int k)
{
    if (i >= cells.size())
        return k == blockSizes.size();
    if (memo[i][k] != 0)
        return memo[i][k] == 2;
    
    bool p = false;
    
    if (!cells[i].forcedB && f(i + 1, k))
    {
        cells[i].canW = true;
        p = true;
    }
    
    if (k < blockSizes.size() && i + blockSizes[k] <= cells.size())
    {
        int endIdx = i + blockSizes[k];
        bool placeWAtEnd = endIdx < cells.size();
        
        bool canB = true;
        
        if (placeWAtEnd && cells[endIdx].forcedB)
        {
            canB = false;
        }
        else
        {
            if (numForcedWBefore[endIdx - 1] > (i == 0 ? 0 : numForcedWBefore[i - 1]))
                canB = false;
        }
        
        if (canB && f(endIdx + 1, k + 1))
        {
            cells[i].delB++;
            
            if (placeWAtEnd)
            {
                cells[endIdx].delB--;
                cells[endIdx].canW = true;
            }
            
            p = true;
        }
    }
    
    memo[i][k] = p ? 2 : 1;
    return p;
}

std::string solve_puzzle(std::string s, std::vector<int> c)
{
    blockSizes = c;
    
    int numForcedW = 0;
    cells.resize(s.size());
    for (size_t i = 0; i < s.size(); i++)
    {
        cells[i].forcedB = s[i] == 'X';
        
        if (s[i] == '_')
            numForcedW++;
        numForcedWBefore[i] = numForcedW;
    }
    
    f(0, 0);
    
    std::string ans(s.size(), '?');
    int d = 0;
    for (size_t i = 0; i < s.size(); i++)
    {
        d += cells[i].delB;
        
        bool canB = d > 0;
        if (canB && !cells[i].canW)
            ans[i] = 'X';
        else if (!canB && cells[i].canW)
            ans[i] = '_';
    }
    
    return ans;
}

Compilation message

paint.cpp: In function 'bool f(int, int)':
paint.cpp:22:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (i >= cells.size())
         ~~^~~~~~~~~~~~~~~
paint.cpp:23:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         return k == blockSizes.size();
                ~~^~~~~~~~~~~~~~~~~~~~
paint.cpp:35:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (k < blockSizes.size() && i + blockSizes[k] <= cells.size())
         ~~^~~~~~~~~~~~~~~~~~~
paint.cpp:35:52: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (k < blockSizes.size() && i + blockSizes[k] <= cells.size())
                                  ~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
paint.cpp:38:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         bool placeWAtEnd = endIdx < cells.size();
                            ~~~~~~~^~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 13, m = 1
2 Correct 3 ms 488 KB n = 18, m = 1
3 Correct 2 ms 488 KB n = 17, m = 1
4 Correct 2 ms 488 KB n = 1, m = 1
5 Correct 2 ms 488 KB n = 20, m = 1
6 Correct 2 ms 488 KB n = 20, m = 1
7 Correct 2 ms 488 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 488 KB n = 18, m = 1
3 Correct 2 ms 488 KB n = 17, m = 1
4 Correct 2 ms 488 KB n = 1, m = 1
5 Correct 2 ms 488 KB n = 20, m = 1
6 Correct 2 ms 488 KB n = 20, m = 1
7 Correct 2 ms 488 KB n = 20, m = 1
8 Correct 3 ms 520 KB n = 20, m = 5
9 Correct 3 ms 520 KB n = 18, m = 3
10 Correct 3 ms 520 KB n = 17, m = 2
11 Correct 3 ms 620 KB n = 20, m = 2
12 Correct 2 ms 636 KB n = 17, m = 4
13 Correct 2 ms 636 KB n = 17, m = 6
14 Correct 3 ms 636 KB n = 17, m = 1
15 Correct 2 ms 636 KB n = 17, m = 4
16 Correct 2 ms 636 KB n = 13, m = 3
17 Correct 2 ms 636 KB n = 18, m = 4
18 Correct 2 ms 636 KB n = 20, m = 10
19 Correct 2 ms 636 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 488 KB n = 18, m = 1
3 Correct 2 ms 488 KB n = 17, m = 1
4 Correct 2 ms 488 KB n = 1, m = 1
5 Correct 2 ms 488 KB n = 20, m = 1
6 Correct 2 ms 488 KB n = 20, m = 1
7 Correct 2 ms 488 KB n = 20, m = 1
8 Correct 3 ms 520 KB n = 20, m = 5
9 Correct 3 ms 520 KB n = 18, m = 3
10 Correct 3 ms 520 KB n = 17, m = 2
11 Correct 3 ms 620 KB n = 20, m = 2
12 Correct 2 ms 636 KB n = 17, m = 4
13 Correct 2 ms 636 KB n = 17, m = 6
14 Correct 3 ms 636 KB n = 17, m = 1
15 Correct 2 ms 636 KB n = 17, m = 4
16 Correct 2 ms 636 KB n = 13, m = 3
17 Correct 2 ms 636 KB n = 18, m = 4
18 Correct 2 ms 636 KB n = 20, m = 10
19 Correct 2 ms 636 KB n = 19, m = 10
20 Correct 3 ms 636 KB n = 100, m = 5
21 Correct 3 ms 636 KB n = 90, m = 3
22 Correct 2 ms 636 KB n = 86, m = 2
23 Correct 2 ms 636 KB n = 81, m = 4
24 Correct 2 ms 636 KB n = 89, m = 10
25 Correct 2 ms 636 KB n = 81, m = 23
26 Correct 3 ms 636 KB n = 86, m = 8
27 Correct 2 ms 636 KB n = 53, m = 22
28 Correct 3 ms 636 KB n = 89, m = 35
29 Correct 3 ms 744 KB n = 63, m = 25
30 Correct 2 ms 744 KB n = 100, m = 50
31 Correct 3 ms 744 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 488 KB n = 18, m = 1
3 Correct 2 ms 488 KB n = 17, m = 1
4 Correct 2 ms 488 KB n = 1, m = 1
5 Correct 2 ms 488 KB n = 20, m = 1
6 Correct 2 ms 488 KB n = 20, m = 1
7 Correct 2 ms 488 KB n = 20, m = 1
8 Correct 3 ms 520 KB n = 20, m = 5
9 Correct 3 ms 520 KB n = 18, m = 3
10 Correct 3 ms 520 KB n = 17, m = 2
11 Correct 3 ms 620 KB n = 20, m = 2
12 Correct 2 ms 636 KB n = 17, m = 4
13 Correct 2 ms 636 KB n = 17, m = 6
14 Correct 3 ms 636 KB n = 17, m = 1
15 Correct 2 ms 636 KB n = 17, m = 4
16 Correct 2 ms 636 KB n = 13, m = 3
17 Correct 2 ms 636 KB n = 18, m = 4
18 Correct 2 ms 636 KB n = 20, m = 10
19 Correct 2 ms 636 KB n = 19, m = 10
20 Correct 3 ms 636 KB n = 100, m = 5
21 Correct 3 ms 636 KB n = 90, m = 3
22 Correct 2 ms 636 KB n = 86, m = 2
23 Correct 2 ms 636 KB n = 81, m = 4
24 Correct 2 ms 636 KB n = 89, m = 10
25 Correct 2 ms 636 KB n = 81, m = 23
26 Correct 3 ms 636 KB n = 86, m = 8
27 Correct 2 ms 636 KB n = 53, m = 22
28 Correct 3 ms 636 KB n = 89, m = 35
29 Correct 3 ms 744 KB n = 63, m = 25
30 Correct 2 ms 744 KB n = 100, m = 50
31 Correct 3 ms 744 KB n = 99, m = 50
32 Correct 2 ms 744 KB n = 13, m = 4
33 Correct 2 ms 744 KB n = 86, m = 2
34 Correct 2 ms 744 KB n = 88, m = 2
35 Correct 2 ms 744 KB n = 86, m = 2
36 Correct 2 ms 744 KB n = 81, m = 6
37 Correct 2 ms 744 KB n = 98, m = 7
38 Correct 2 ms 744 KB n = 92, m = 7
39 Correct 2 ms 756 KB n = 88, m = 21
40 Correct 2 ms 756 KB n = 90, m = 21
41 Correct 2 ms 756 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 488 KB n = 18, m = 1
3 Correct 2 ms 488 KB n = 17, m = 1
4 Correct 2 ms 488 KB n = 1, m = 1
5 Correct 2 ms 488 KB n = 20, m = 1
6 Correct 2 ms 488 KB n = 20, m = 1
7 Correct 2 ms 488 KB n = 20, m = 1
8 Correct 3 ms 520 KB n = 20, m = 5
9 Correct 3 ms 520 KB n = 18, m = 3
10 Correct 3 ms 520 KB n = 17, m = 2
11 Correct 3 ms 620 KB n = 20, m = 2
12 Correct 2 ms 636 KB n = 17, m = 4
13 Correct 2 ms 636 KB n = 17, m = 6
14 Correct 3 ms 636 KB n = 17, m = 1
15 Correct 2 ms 636 KB n = 17, m = 4
16 Correct 2 ms 636 KB n = 13, m = 3
17 Correct 2 ms 636 KB n = 18, m = 4
18 Correct 2 ms 636 KB n = 20, m = 10
19 Correct 2 ms 636 KB n = 19, m = 10
20 Correct 3 ms 636 KB n = 100, m = 5
21 Correct 3 ms 636 KB n = 90, m = 3
22 Correct 2 ms 636 KB n = 86, m = 2
23 Correct 2 ms 636 KB n = 81, m = 4
24 Correct 2 ms 636 KB n = 89, m = 10
25 Correct 2 ms 636 KB n = 81, m = 23
26 Correct 3 ms 636 KB n = 86, m = 8
27 Correct 2 ms 636 KB n = 53, m = 22
28 Correct 3 ms 636 KB n = 89, m = 35
29 Correct 3 ms 744 KB n = 63, m = 25
30 Correct 2 ms 744 KB n = 100, m = 50
31 Correct 3 ms 744 KB n = 99, m = 50
32 Correct 2 ms 744 KB n = 13, m = 4
33 Correct 2 ms 744 KB n = 86, m = 2
34 Correct 2 ms 744 KB n = 88, m = 2
35 Correct 2 ms 744 KB n = 86, m = 2
36 Correct 2 ms 744 KB n = 81, m = 6
37 Correct 2 ms 744 KB n = 98, m = 7
38 Correct 2 ms 744 KB n = 92, m = 7
39 Correct 2 ms 756 KB n = 88, m = 21
40 Correct 2 ms 756 KB n = 90, m = 21
41 Correct 2 ms 756 KB n = 98, m = 22
42 Correct 2 ms 756 KB n = 11, m = 2
43 Correct 2 ms 756 KB n = 11, m = 2
44 Correct 3 ms 756 KB n = 13, m = 3
45 Correct 3 ms 756 KB n = 86, m = 2
46 Correct 3 ms 756 KB n = 81, m = 2
47 Correct 2 ms 756 KB n = 93, m = 2
48 Correct 2 ms 756 KB n = 81, m = 2
49 Correct 2 ms 756 KB n = 86, m = 2
50 Correct 4 ms 756 KB n = 90, m = 2
51 Correct 2 ms 756 KB n = 87, m = 2
52 Correct 3 ms 756 KB n = 97, m = 2
53 Correct 3 ms 756 KB n = 85, m = 2
54 Correct 3 ms 756 KB n = 88, m = 7
55 Correct 2 ms 756 KB n = 96, m = 7
56 Correct 2 ms 756 KB n = 85, m = 7
57 Correct 2 ms 756 KB n = 92, m = 7
58 Correct 3 ms 756 KB n = 92, m = 7
59 Correct 2 ms 756 KB n = 86, m = 7
60 Correct 2 ms 756 KB n = 87, m = 7
61 Correct 3 ms 756 KB n = 100, m = 7
62 Correct 2 ms 756 KB n = 100, m = 7
63 Correct 2 ms 756 KB n = 92, m = 21
64 Correct 3 ms 756 KB n = 93, m = 22
65 Correct 2 ms 756 KB n = 95, m = 22
66 Correct 2 ms 756 KB n = 98, m = 22
67 Correct 2 ms 760 KB n = 94, m = 22
68 Correct 2 ms 760 KB n = 93, m = 22
69 Correct 2 ms 760 KB n = 88, m = 21
70 Correct 3 ms 760 KB n = 83, m = 20
71 Correct 2 ms 760 KB n = 99, m = 23
72 Correct 3 ms 760 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 488 KB n = 18, m = 1
3 Correct 2 ms 488 KB n = 17, m = 1
4 Correct 2 ms 488 KB n = 1, m = 1
5 Correct 2 ms 488 KB n = 20, m = 1
6 Correct 2 ms 488 KB n = 20, m = 1
7 Correct 2 ms 488 KB n = 20, m = 1
8 Correct 3 ms 520 KB n = 20, m = 5
9 Correct 3 ms 520 KB n = 18, m = 3
10 Correct 3 ms 520 KB n = 17, m = 2
11 Correct 3 ms 620 KB n = 20, m = 2
12 Correct 2 ms 636 KB n = 17, m = 4
13 Correct 2 ms 636 KB n = 17, m = 6
14 Correct 3 ms 636 KB n = 17, m = 1
15 Correct 2 ms 636 KB n = 17, m = 4
16 Correct 2 ms 636 KB n = 13, m = 3
17 Correct 2 ms 636 KB n = 18, m = 4
18 Correct 2 ms 636 KB n = 20, m = 10
19 Correct 2 ms 636 KB n = 19, m = 10
20 Correct 3 ms 636 KB n = 100, m = 5
21 Correct 3 ms 636 KB n = 90, m = 3
22 Correct 2 ms 636 KB n = 86, m = 2
23 Correct 2 ms 636 KB n = 81, m = 4
24 Correct 2 ms 636 KB n = 89, m = 10
25 Correct 2 ms 636 KB n = 81, m = 23
26 Correct 3 ms 636 KB n = 86, m = 8
27 Correct 2 ms 636 KB n = 53, m = 22
28 Correct 3 ms 636 KB n = 89, m = 35
29 Correct 3 ms 744 KB n = 63, m = 25
30 Correct 2 ms 744 KB n = 100, m = 50
31 Correct 3 ms 744 KB n = 99, m = 50
32 Correct 2 ms 744 KB n = 13, m = 4
33 Correct 2 ms 744 KB n = 86, m = 2
34 Correct 2 ms 744 KB n = 88, m = 2
35 Correct 2 ms 744 KB n = 86, m = 2
36 Correct 2 ms 744 KB n = 81, m = 6
37 Correct 2 ms 744 KB n = 98, m = 7
38 Correct 2 ms 744 KB n = 92, m = 7
39 Correct 2 ms 756 KB n = 88, m = 21
40 Correct 2 ms 756 KB n = 90, m = 21
41 Correct 2 ms 756 KB n = 98, m = 22
42 Correct 2 ms 756 KB n = 11, m = 2
43 Correct 2 ms 756 KB n = 11, m = 2
44 Correct 3 ms 756 KB n = 13, m = 3
45 Correct 3 ms 756 KB n = 86, m = 2
46 Correct 3 ms 756 KB n = 81, m = 2
47 Correct 2 ms 756 KB n = 93, m = 2
48 Correct 2 ms 756 KB n = 81, m = 2
49 Correct 2 ms 756 KB n = 86, m = 2
50 Correct 4 ms 756 KB n = 90, m = 2
51 Correct 2 ms 756 KB n = 87, m = 2
52 Correct 3 ms 756 KB n = 97, m = 2
53 Correct 3 ms 756 KB n = 85, m = 2
54 Correct 3 ms 756 KB n = 88, m = 7
55 Correct 2 ms 756 KB n = 96, m = 7
56 Correct 2 ms 756 KB n = 85, m = 7
57 Correct 2 ms 756 KB n = 92, m = 7
58 Correct 3 ms 756 KB n = 92, m = 7
59 Correct 2 ms 756 KB n = 86, m = 7
60 Correct 2 ms 756 KB n = 87, m = 7
61 Correct 3 ms 756 KB n = 100, m = 7
62 Correct 2 ms 756 KB n = 100, m = 7
63 Correct 2 ms 756 KB n = 92, m = 21
64 Correct 3 ms 756 KB n = 93, m = 22
65 Correct 2 ms 756 KB n = 95, m = 22
66 Correct 2 ms 756 KB n = 98, m = 22
67 Correct 2 ms 760 KB n = 94, m = 22
68 Correct 2 ms 760 KB n = 93, m = 22
69 Correct 2 ms 760 KB n = 88, m = 21
70 Correct 3 ms 760 KB n = 83, m = 20
71 Correct 2 ms 760 KB n = 99, m = 23
72 Correct 3 ms 760 KB n = 96, m = 19
73 Correct 3 ms 892 KB n = 4825, m = 5
74 Correct 4 ms 1148 KB n = 4384, m = 5
75 Correct 4 ms 1192 KB n = 4528, m = 5
76 Correct 3 ms 1192 KB n = 4980, m = 5
77 Correct 3 ms 1324 KB n = 4730, m = 5
78 Correct 3 ms 1324 KB n = 4784, m = 5
79 Correct 3 ms 1324 KB n = 4875, m = 5
80 Correct 3 ms 1324 KB n = 4576, m = 5
81 Correct 4 ms 1324 KB n = 4297, m = 5
82 Correct 3 ms 1340 KB n = 4662, m = 48
83 Correct 3 ms 1340 KB n = 4753, m = 49
84 Correct 2 ms 1340 KB n = 4148, m = 46
85 Correct 3 ms 1340 KB n = 4906, m = 50
86 Correct 3 ms 1340 KB n = 4967, m = 50
87 Correct 3 ms 1340 KB n = 4828, m = 49
88 Correct 3 ms 1340 KB n = 4105, m = 45
89 Correct 3 ms 1340 KB n = 4954, m = 50
90 Correct 5 ms 1468 KB n = 4884, m = 49
91 Correct 2 ms 1468 KB n = 4307, m = 100
92 Correct 3 ms 1468 KB n = 4668, m = 100
93 Correct 3 ms 1468 KB n = 4647, m = 100
94 Correct 3 ms 1468 KB n = 4372, m = 100
95 Correct 3 ms 1468 KB n = 4791, m = 100
96 Correct 5 ms 1468 KB n = 4029, m = 100
97 Correct 4 ms 1468 KB n = 4439, m = 100
98 Correct 6 ms 1468 KB n = 4018, m = 100
99 Correct 8 ms 1468 KB n = 4979, m = 100
100 Correct 5 ms 1468 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 488 KB n = 18, m = 1
3 Correct 2 ms 488 KB n = 17, m = 1
4 Correct 2 ms 488 KB n = 1, m = 1
5 Correct 2 ms 488 KB n = 20, m = 1
6 Correct 2 ms 488 KB n = 20, m = 1
7 Correct 2 ms 488 KB n = 20, m = 1
8 Correct 3 ms 520 KB n = 20, m = 5
9 Correct 3 ms 520 KB n = 18, m = 3
10 Correct 3 ms 520 KB n = 17, m = 2
11 Correct 3 ms 620 KB n = 20, m = 2
12 Correct 2 ms 636 KB n = 17, m = 4
13 Correct 2 ms 636 KB n = 17, m = 6
14 Correct 3 ms 636 KB n = 17, m = 1
15 Correct 2 ms 636 KB n = 17, m = 4
16 Correct 2 ms 636 KB n = 13, m = 3
17 Correct 2 ms 636 KB n = 18, m = 4
18 Correct 2 ms 636 KB n = 20, m = 10
19 Correct 2 ms 636 KB n = 19, m = 10
20 Correct 3 ms 636 KB n = 100, m = 5
21 Correct 3 ms 636 KB n = 90, m = 3
22 Correct 2 ms 636 KB n = 86, m = 2
23 Correct 2 ms 636 KB n = 81, m = 4
24 Correct 2 ms 636 KB n = 89, m = 10
25 Correct 2 ms 636 KB n = 81, m = 23
26 Correct 3 ms 636 KB n = 86, m = 8
27 Correct 2 ms 636 KB n = 53, m = 22
28 Correct 3 ms 636 KB n = 89, m = 35
29 Correct 3 ms 744 KB n = 63, m = 25
30 Correct 2 ms 744 KB n = 100, m = 50
31 Correct 3 ms 744 KB n = 99, m = 50
32 Correct 2 ms 744 KB n = 13, m = 4
33 Correct 2 ms 744 KB n = 86, m = 2
34 Correct 2 ms 744 KB n = 88, m = 2
35 Correct 2 ms 744 KB n = 86, m = 2
36 Correct 2 ms 744 KB n = 81, m = 6
37 Correct 2 ms 744 KB n = 98, m = 7
38 Correct 2 ms 744 KB n = 92, m = 7
39 Correct 2 ms 756 KB n = 88, m = 21
40 Correct 2 ms 756 KB n = 90, m = 21
41 Correct 2 ms 756 KB n = 98, m = 22
42 Correct 2 ms 756 KB n = 11, m = 2
43 Correct 2 ms 756 KB n = 11, m = 2
44 Correct 3 ms 756 KB n = 13, m = 3
45 Correct 3 ms 756 KB n = 86, m = 2
46 Correct 3 ms 756 KB n = 81, m = 2
47 Correct 2 ms 756 KB n = 93, m = 2
48 Correct 2 ms 756 KB n = 81, m = 2
49 Correct 2 ms 756 KB n = 86, m = 2
50 Correct 4 ms 756 KB n = 90, m = 2
51 Correct 2 ms 756 KB n = 87, m = 2
52 Correct 3 ms 756 KB n = 97, m = 2
53 Correct 3 ms 756 KB n = 85, m = 2
54 Correct 3 ms 756 KB n = 88, m = 7
55 Correct 2 ms 756 KB n = 96, m = 7
56 Correct 2 ms 756 KB n = 85, m = 7
57 Correct 2 ms 756 KB n = 92, m = 7
58 Correct 3 ms 756 KB n = 92, m = 7
59 Correct 2 ms 756 KB n = 86, m = 7
60 Correct 2 ms 756 KB n = 87, m = 7
61 Correct 3 ms 756 KB n = 100, m = 7
62 Correct 2 ms 756 KB n = 100, m = 7
63 Correct 2 ms 756 KB n = 92, m = 21
64 Correct 3 ms 756 KB n = 93, m = 22
65 Correct 2 ms 756 KB n = 95, m = 22
66 Correct 2 ms 756 KB n = 98, m = 22
67 Correct 2 ms 760 KB n = 94, m = 22
68 Correct 2 ms 760 KB n = 93, m = 22
69 Correct 2 ms 760 KB n = 88, m = 21
70 Correct 3 ms 760 KB n = 83, m = 20
71 Correct 2 ms 760 KB n = 99, m = 23
72 Correct 3 ms 760 KB n = 96, m = 19
73 Correct 3 ms 892 KB n = 4825, m = 5
74 Correct 4 ms 1148 KB n = 4384, m = 5
75 Correct 4 ms 1192 KB n = 4528, m = 5
76 Correct 3 ms 1192 KB n = 4980, m = 5
77 Correct 3 ms 1324 KB n = 4730, m = 5
78 Correct 3 ms 1324 KB n = 4784, m = 5
79 Correct 3 ms 1324 KB n = 4875, m = 5
80 Correct 3 ms 1324 KB n = 4576, m = 5
81 Correct 4 ms 1324 KB n = 4297, m = 5
82 Correct 3 ms 1340 KB n = 4662, m = 48
83 Correct 3 ms 1340 KB n = 4753, m = 49
84 Correct 2 ms 1340 KB n = 4148, m = 46
85 Correct 3 ms 1340 KB n = 4906, m = 50
86 Correct 3 ms 1340 KB n = 4967, m = 50
87 Correct 3 ms 1340 KB n = 4828, m = 49
88 Correct 3 ms 1340 KB n = 4105, m = 45
89 Correct 3 ms 1340 KB n = 4954, m = 50
90 Correct 5 ms 1468 KB n = 4884, m = 49
91 Correct 2 ms 1468 KB n = 4307, m = 100
92 Correct 3 ms 1468 KB n = 4668, m = 100
93 Correct 3 ms 1468 KB n = 4647, m = 100
94 Correct 3 ms 1468 KB n = 4372, m = 100
95 Correct 3 ms 1468 KB n = 4791, m = 100
96 Correct 5 ms 1468 KB n = 4029, m = 100
97 Correct 4 ms 1468 KB n = 4439, m = 100
98 Correct 6 ms 1468 KB n = 4018, m = 100
99 Correct 8 ms 1468 KB n = 4979, m = 100
100 Correct 5 ms 1468 KB n = 4996, m = 89
101 Correct 22 ms 18108 KB n = 178952, m = 10
102 Correct 32 ms 23304 KB n = 180674, m = 10
103 Correct 27 ms 23304 KB n = 167639, m = 10
104 Correct 29 ms 23304 KB n = 172892, m = 10
105 Correct 21 ms 23304 KB n = 168125, m = 10
106 Correct 27 ms 23304 KB n = 166514, m = 10
107 Correct 22 ms 23304 KB n = 183874, m = 10
108 Correct 27 ms 23304 KB n = 194560, m = 10
109 Correct 29 ms 23828 KB n = 171994, m = 10
110 Correct 24 ms 23828 KB n = 165207, m = 100
111 Correct 23 ms 23828 KB n = 188459, m = 100
112 Correct 24 ms 23828 KB n = 162137, m = 100
113 Correct 23 ms 23828 KB n = 169691, m = 100
114 Correct 30 ms 23828 KB n = 187642, m = 100
115 Correct 26 ms 23828 KB n = 168456, m = 100
116 Correct 33 ms 23828 KB n = 180980, m = 100
117 Correct 26 ms 23828 KB n = 191687, m = 100
118 Correct 24 ms 23828 KB n = 166437, m = 100
119 Correct 25 ms 23828 KB n = 186520, m = 100
120 Correct 21 ms 23828 KB n = 166675, m = 100
121 Correct 24 ms 23828 KB n = 187725, m = 100
122 Correct 23 ms 23828 KB n = 161455, m = 100
123 Correct 24 ms 23828 KB n = 192977, m = 100
124 Correct 26 ms 23828 KB n = 192612, m = 100
125 Correct 30 ms 23828 KB n = 196512, m = 100
126 Correct 26 ms 23828 KB n = 198968, m = 100
127 Correct 23 ms 23828 KB n = 166659, m = 100
128 Correct 105 ms 31204 KB n = 199997, m = 34
129 Correct 46 ms 39160 KB n = 200000, m = 1
130 Correct 45 ms 39372 KB n = 200000, m = 1
131 Correct 371 ms 39688 KB n = 199999, m = 100
132 Correct 782 ms 39800 KB n = 199999, m = 100
133 Correct 6 ms 39800 KB n = 200000, m = 1