Submission #95235

# Submission time Handle Problem Language Result Execution time Memory
95235 2019-01-28T19:12:23 Z someone_aa Paint By Numbers (IOI16_paint) C++17
100 / 100
368 ms 47572 KB
#include "paint.h"

#include <cstdlib>
#include <bits/stdc++.h>

using namespace std;
const int maxn = 200100;
const int maxm = 110;
int n, m;

bool dp[maxn][maxm];
bool ds[maxn][maxm];

string code;

int prefwhite[maxn];
int prefblack[maxn];

int cntwhite(int l, int r) {
    return prefwhite[r] - prefwhite[l-1];
}


bool possible_white[maxn];
bool possible_black[maxn];

int marker_black[maxn];

void setwhite(int l, int r) {
    possible_white[l] = true;
}

void setblack(int l, int r) {
    marker_black[l]++;
    marker_black[r+1]--;
}

string solve_puzzle(string s, vector<int> c) {
    n = s.length();
    m = c.size();
    s = "$" + s + "$";

    code = s;

    vector<int> rc = c;
    reverse(rc.begin(), rc.end());

    for(int i=1;i<=n;i++) {
        prefwhite[i] = prefwhite[i-1];
        prefblack[i] = prefblack[i-1];

        if(s[i] == '_') prefwhite[i]++;
        else if(s[i] == 'X') prefblack[i]++;
    }

    dp[0][0] = true;
    for(int i=1;i<=n;i++) {
        for(int j=0;j<=m;j++) {

            if(j == 0) {
                if(s[i] != 'X') dp[i][j] = dp[i-1][j];
                continue;
            }



            if(s[i] == '_' || s[i] == '.') {
                dp[i][j] = dp[i-1][j];
            }

            if(s[i] == 'X' || s[i] == '.') {
                if(i - c[j-1] >= 0) {
                    if(s[i+1] != 'X' && s[i-c[j-1]] != 'X' && cntwhite(i-c[j-1]+1, i) == 0) {
                        if(j == 1)
                            dp[i][j] |= dp[i-c[j-1]][j-1];
                        else
                            dp[i][j] |= dp[i-c[j-1]-1][j-1];
                    }
                }
            }
            //cout<<"("<<i<<", "<<j<<") -> "<<dp[i][j]<<"\n";
        }
    }

    ds[n+1][0] = true;
    for(int i=n;i>=1;i--) {
        for(int j=0;j<=m;j++) {

            if(j == 0) {
                if(s[i] != 'X') ds[i][j] = ds[i+1][j];
                continue;
            }


            if(s[i] == '_' || s[i] == '.') {
                ds[i][j] = ds[i+1][j];
            }

            if(s[i] == 'X' || s[i] == '.') {
                if(i + rc[j-1] -1 <= n) {
                    if(s[i-1] != 'X' && s[i+rc[j-1]] != 'X' && cntwhite(i, i+rc[j-1]-1) == 0) {
                        //cout<<"Ulaza -> "<<i<<"\n";
                        if(j == 1) {
                            ds[i][j] |= ds[i+rc[j-1]][j-1];
                        }
                        else {
                            ds[i][j] |= ds[i+rc[j-1]+1][j-1];
                        }
                    }
                }
            }
            //cout<<i<<", "<<j<<" -> "<<ds[i][j]<<"\n";

        }
    }

    for(int i=1;i<=n;i++) {
        bool save = false;
        for(int j=1;j<=m;j++) {
            // check if you can start j-th clue at position i

            if(dp[i-1][j] && ds[i+1][m-j]) {
                save = true;
            }

            if(i + c[j-1] - 1 <= n) {
                if(s[i-1] != 'X' && s[i+c[j-1]] != 'X') {
                    if(cntwhite(i, i+c[j-1]-1) == 0) {
                        if(j == 1) {
                            if(i + c[j-1] - 1 == n && j == m && dp[i-1][0]) {
                                setblack(i, i+c[j-1]-1);
                                setwhite(i-1, i-1);
                                setwhite(i+c[j-1], i+c[j-1]);
                            }
                            else if(dp[i-1][0] && ds[i+c[j-1]+1][m-j]) {
                                setblack(i, i+c[j-1]-1);
                                setwhite(i-1, i-1);
                                setwhite(i+c[j-1], i+c[j-1]);
                            }
                        }
                        else if(i >= 2){
                            if(j == m) {
                                if(dp[i-2][j-1] && ds[i+c[j-1]][m-j]) {
                                    //cout<<"Setting last at: "<<i<<"\n";
                                    setblack(i, i+c[j-1]-1);
                                    setwhite(i-1, i-1);
                                    setwhite(i+c[j-1], i+c[j-1]);
                                }
                            }
                            else {
                                if(dp[i-2][j-1] && ds[i+c[j-1]+1][m-j]) {
                                    //cout<<"Setting: "<<j<<" at "<<i<<"\n";
                                    setblack(i, i+c[j-1]-1);
                                    setwhite(i-1, i-1);
                                    setwhite(i+c[j-1], i+c[j-1]);
                                }
                            }
                        }
                    }
                }
            }
        }

        if(dp[i-1][0] && ds[i+1][m]) save = true;

        if(save) {
            setwhite(i, i);
        }

    }

    int cnt = 0;
    for(int i=1;i<=n;i++) {
        cnt += marker_black[i];
        if(cnt > 0) possible_black[i] = true;
    }

    string result = "";
    for(int i=1;i<=n;i++) {
        if(s[i] == '.') {
            if(possible_black[i]) {
                if(possible_white[i]) result += "?";
                else result += "X";
            }
            else result += "_";
        }
        else {
            result += s[i];
        }
    }
    return result;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 13, m = 1
2 Correct 2 ms 376 KB n = 18, m = 1
3 Correct 2 ms 376 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 376 KB n = 20, m = 1
7 Correct 2 ms 376 KB n = 20, m = 1
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 13, m = 1
2 Correct 2 ms 376 KB n = 18, m = 1
3 Correct 2 ms 376 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 376 KB n = 20, m = 1
7 Correct 2 ms 376 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 376 KB n = 17, m = 2
11 Correct 2 ms 376 KB n = 20, m = 2
12 Correct 2 ms 380 KB n = 17, m = 4
13 Correct 2 ms 376 KB n = 17, m = 6
14 Correct 2 ms 380 KB n = 17, m = 1
15 Correct 2 ms 376 KB n = 17, m = 4
16 Correct 2 ms 376 KB n = 13, m = 3
17 Correct 2 ms 376 KB n = 18, m = 4
18 Correct 2 ms 376 KB n = 20, m = 10
19 Correct 2 ms 380 KB n = 19, m = 10
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 13, m = 1
2 Correct 2 ms 376 KB n = 18, m = 1
3 Correct 2 ms 376 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 376 KB n = 20, m = 1
7 Correct 2 ms 376 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 376 KB n = 17, m = 2
11 Correct 2 ms 376 KB n = 20, m = 2
12 Correct 2 ms 380 KB n = 17, m = 4
13 Correct 2 ms 376 KB n = 17, m = 6
14 Correct 2 ms 380 KB n = 17, m = 1
15 Correct 2 ms 376 KB n = 17, m = 4
16 Correct 2 ms 376 KB n = 13, m = 3
17 Correct 2 ms 376 KB n = 18, m = 4
18 Correct 2 ms 376 KB n = 20, m = 10
19 Correct 2 ms 380 KB n = 19, m = 10
20 Correct 2 ms 400 KB n = 100, m = 5
21 Correct 2 ms 376 KB n = 90, m = 3
22 Correct 2 ms 376 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 376 KB n = 86, m = 8
27 Correct 2 ms 376 KB n = 53, m = 22
28 Correct 2 ms 376 KB n = 89, m = 35
29 Correct 2 ms 376 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
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 13, m = 1
2 Correct 2 ms 376 KB n = 18, m = 1
3 Correct 2 ms 376 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 376 KB n = 20, m = 1
7 Correct 2 ms 376 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 376 KB n = 17, m = 2
11 Correct 2 ms 376 KB n = 20, m = 2
12 Correct 2 ms 380 KB n = 17, m = 4
13 Correct 2 ms 376 KB n = 17, m = 6
14 Correct 2 ms 380 KB n = 17, m = 1
15 Correct 2 ms 376 KB n = 17, m = 4
16 Correct 2 ms 376 KB n = 13, m = 3
17 Correct 2 ms 376 KB n = 18, m = 4
18 Correct 2 ms 376 KB n = 20, m = 10
19 Correct 2 ms 380 KB n = 19, m = 10
20 Correct 2 ms 400 KB n = 100, m = 5
21 Correct 2 ms 376 KB n = 90, m = 3
22 Correct 2 ms 376 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 376 KB n = 86, m = 8
27 Correct 2 ms 376 KB n = 53, m = 22
28 Correct 2 ms 376 KB n = 89, m = 35
29 Correct 2 ms 376 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 376 KB n = 13, m = 4
33 Correct 2 ms 376 KB n = 86, m = 2
34 Correct 2 ms 376 KB n = 88, m = 2
35 Correct 2 ms 380 KB n = 86, m = 2
36 Correct 2 ms 376 KB n = 81, m = 6
37 Correct 2 ms 376 KB n = 98, m = 7
38 Correct 2 ms 376 KB n = 92, m = 7
39 Correct 2 ms 376 KB n = 88, m = 21
40 Correct 2 ms 376 KB n = 90, m = 21
41 Correct 2 ms 376 KB n = 98, m = 22
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 13, m = 1
2 Correct 2 ms 376 KB n = 18, m = 1
3 Correct 2 ms 376 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 376 KB n = 20, m = 1
7 Correct 2 ms 376 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 376 KB n = 17, m = 2
11 Correct 2 ms 376 KB n = 20, m = 2
12 Correct 2 ms 380 KB n = 17, m = 4
13 Correct 2 ms 376 KB n = 17, m = 6
14 Correct 2 ms 380 KB n = 17, m = 1
15 Correct 2 ms 376 KB n = 17, m = 4
16 Correct 2 ms 376 KB n = 13, m = 3
17 Correct 2 ms 376 KB n = 18, m = 4
18 Correct 2 ms 376 KB n = 20, m = 10
19 Correct 2 ms 380 KB n = 19, m = 10
20 Correct 2 ms 400 KB n = 100, m = 5
21 Correct 2 ms 376 KB n = 90, m = 3
22 Correct 2 ms 376 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 376 KB n = 86, m = 8
27 Correct 2 ms 376 KB n = 53, m = 22
28 Correct 2 ms 376 KB n = 89, m = 35
29 Correct 2 ms 376 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 376 KB n = 13, m = 4
33 Correct 2 ms 376 KB n = 86, m = 2
34 Correct 2 ms 376 KB n = 88, m = 2
35 Correct 2 ms 380 KB n = 86, m = 2
36 Correct 2 ms 376 KB n = 81, m = 6
37 Correct 2 ms 376 KB n = 98, m = 7
38 Correct 2 ms 376 KB n = 92, m = 7
39 Correct 2 ms 376 KB n = 88, m = 21
40 Correct 2 ms 376 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 376 KB n = 11, m = 2
44 Correct 2 ms 376 KB n = 13, m = 3
45 Correct 2 ms 376 KB n = 86, m = 2
46 Correct 2 ms 376 KB n = 81, m = 2
47 Correct 2 ms 376 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 2 ms 376 KB n = 90, m = 2
51 Correct 2 ms 504 KB n = 87, m = 2
52 Correct 2 ms 376 KB n = 97, m = 2
53 Correct 0 ms 376 KB n = 85, m = 2
54 Correct 3 ms 376 KB n = 88, m = 7
55 Correct 2 ms 376 KB n = 96, m = 7
56 Correct 2 ms 376 KB n = 85, m = 7
57 Correct 2 ms 376 KB n = 92, m = 7
58 Correct 2 ms 376 KB n = 92, m = 7
59 Correct 2 ms 376 KB n = 86, m = 7
60 Correct 2 ms 376 KB n = 87, m = 7
61 Correct 2 ms 376 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 380 KB n = 94, m = 22
68 Correct 2 ms 376 KB n = 93, m = 22
69 Correct 2 ms 376 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
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 13, m = 1
2 Correct 2 ms 376 KB n = 18, m = 1
3 Correct 2 ms 376 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 376 KB n = 20, m = 1
7 Correct 2 ms 376 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 376 KB n = 17, m = 2
11 Correct 2 ms 376 KB n = 20, m = 2
12 Correct 2 ms 380 KB n = 17, m = 4
13 Correct 2 ms 376 KB n = 17, m = 6
14 Correct 2 ms 380 KB n = 17, m = 1
15 Correct 2 ms 376 KB n = 17, m = 4
16 Correct 2 ms 376 KB n = 13, m = 3
17 Correct 2 ms 376 KB n = 18, m = 4
18 Correct 2 ms 376 KB n = 20, m = 10
19 Correct 2 ms 380 KB n = 19, m = 10
20 Correct 2 ms 400 KB n = 100, m = 5
21 Correct 2 ms 376 KB n = 90, m = 3
22 Correct 2 ms 376 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 376 KB n = 86, m = 8
27 Correct 2 ms 376 KB n = 53, m = 22
28 Correct 2 ms 376 KB n = 89, m = 35
29 Correct 2 ms 376 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 376 KB n = 13, m = 4
33 Correct 2 ms 376 KB n = 86, m = 2
34 Correct 2 ms 376 KB n = 88, m = 2
35 Correct 2 ms 380 KB n = 86, m = 2
36 Correct 2 ms 376 KB n = 81, m = 6
37 Correct 2 ms 376 KB n = 98, m = 7
38 Correct 2 ms 376 KB n = 92, m = 7
39 Correct 2 ms 376 KB n = 88, m = 21
40 Correct 2 ms 376 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 376 KB n = 11, m = 2
44 Correct 2 ms 376 KB n = 13, m = 3
45 Correct 2 ms 376 KB n = 86, m = 2
46 Correct 2 ms 376 KB n = 81, m = 2
47 Correct 2 ms 376 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 2 ms 376 KB n = 90, m = 2
51 Correct 2 ms 504 KB n = 87, m = 2
52 Correct 2 ms 376 KB n = 97, m = 2
53 Correct 0 ms 376 KB n = 85, m = 2
54 Correct 3 ms 376 KB n = 88, m = 7
55 Correct 2 ms 376 KB n = 96, m = 7
56 Correct 2 ms 376 KB n = 85, m = 7
57 Correct 2 ms 376 KB n = 92, m = 7
58 Correct 2 ms 376 KB n = 92, m = 7
59 Correct 2 ms 376 KB n = 86, m = 7
60 Correct 2 ms 376 KB n = 87, m = 7
61 Correct 2 ms 376 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 380 KB n = 94, m = 22
68 Correct 2 ms 376 KB n = 93, m = 22
69 Correct 2 ms 376 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 1528 KB n = 4825, m = 5
74 Correct 3 ms 1400 KB n = 4384, m = 5
75 Correct 3 ms 1400 KB n = 4528, m = 5
76 Correct 3 ms 1528 KB n = 4980, m = 5
77 Correct 3 ms 1400 KB n = 4730, m = 5
78 Correct 3 ms 1448 KB n = 4784, m = 5
79 Correct 3 ms 1528 KB n = 4875, m = 5
80 Correct 3 ms 1528 KB n = 4576, m = 5
81 Correct 3 ms 1528 KB n = 4297, m = 5
82 Correct 6 ms 1528 KB n = 4662, m = 48
83 Correct 7 ms 1528 KB n = 4753, m = 49
84 Correct 7 ms 1400 KB n = 4148, m = 46
85 Correct 6 ms 1528 KB n = 4906, m = 50
86 Correct 7 ms 1528 KB n = 4967, m = 50
87 Correct 7 ms 1528 KB n = 4828, m = 49
88 Correct 5 ms 1400 KB n = 4105, m = 45
89 Correct 6 ms 1528 KB n = 4954, m = 50
90 Correct 6 ms 1528 KB n = 4884, m = 49
91 Correct 10 ms 1372 KB n = 4307, m = 100
92 Correct 12 ms 1400 KB n = 4668, m = 100
93 Correct 12 ms 1528 KB n = 4647, m = 100
94 Correct 10 ms 1400 KB n = 4372, m = 100
95 Correct 11 ms 1532 KB n = 4791, m = 100
96 Correct 9 ms 1272 KB n = 4029, m = 100
97 Correct 9 ms 1400 KB n = 4439, m = 100
98 Correct 9 ms 1272 KB n = 4018, m = 100
99 Correct 11 ms 1528 KB n = 4979, m = 100
100 Correct 8 ms 1528 KB n = 4996, m = 89
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB n = 13, m = 1
2 Correct 2 ms 376 KB n = 18, m = 1
3 Correct 2 ms 376 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 376 KB n = 20, m = 1
7 Correct 2 ms 376 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 376 KB n = 17, m = 2
11 Correct 2 ms 376 KB n = 20, m = 2
12 Correct 2 ms 380 KB n = 17, m = 4
13 Correct 2 ms 376 KB n = 17, m = 6
14 Correct 2 ms 380 KB n = 17, m = 1
15 Correct 2 ms 376 KB n = 17, m = 4
16 Correct 2 ms 376 KB n = 13, m = 3
17 Correct 2 ms 376 KB n = 18, m = 4
18 Correct 2 ms 376 KB n = 20, m = 10
19 Correct 2 ms 380 KB n = 19, m = 10
20 Correct 2 ms 400 KB n = 100, m = 5
21 Correct 2 ms 376 KB n = 90, m = 3
22 Correct 2 ms 376 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 376 KB n = 86, m = 8
27 Correct 2 ms 376 KB n = 53, m = 22
28 Correct 2 ms 376 KB n = 89, m = 35
29 Correct 2 ms 376 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 376 KB n = 13, m = 4
33 Correct 2 ms 376 KB n = 86, m = 2
34 Correct 2 ms 376 KB n = 88, m = 2
35 Correct 2 ms 380 KB n = 86, m = 2
36 Correct 2 ms 376 KB n = 81, m = 6
37 Correct 2 ms 376 KB n = 98, m = 7
38 Correct 2 ms 376 KB n = 92, m = 7
39 Correct 2 ms 376 KB n = 88, m = 21
40 Correct 2 ms 376 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 376 KB n = 11, m = 2
44 Correct 2 ms 376 KB n = 13, m = 3
45 Correct 2 ms 376 KB n = 86, m = 2
46 Correct 2 ms 376 KB n = 81, m = 2
47 Correct 2 ms 376 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 2 ms 376 KB n = 90, m = 2
51 Correct 2 ms 504 KB n = 87, m = 2
52 Correct 2 ms 376 KB n = 97, m = 2
53 Correct 0 ms 376 KB n = 85, m = 2
54 Correct 3 ms 376 KB n = 88, m = 7
55 Correct 2 ms 376 KB n = 96, m = 7
56 Correct 2 ms 376 KB n = 85, m = 7
57 Correct 2 ms 376 KB n = 92, m = 7
58 Correct 2 ms 376 KB n = 92, m = 7
59 Correct 2 ms 376 KB n = 86, m = 7
60 Correct 2 ms 376 KB n = 87, m = 7
61 Correct 2 ms 376 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 380 KB n = 94, m = 22
68 Correct 2 ms 376 KB n = 93, m = 22
69 Correct 2 ms 376 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 1528 KB n = 4825, m = 5
74 Correct 3 ms 1400 KB n = 4384, m = 5
75 Correct 3 ms 1400 KB n = 4528, m = 5
76 Correct 3 ms 1528 KB n = 4980, m = 5
77 Correct 3 ms 1400 KB n = 4730, m = 5
78 Correct 3 ms 1448 KB n = 4784, m = 5
79 Correct 3 ms 1528 KB n = 4875, m = 5
80 Correct 3 ms 1528 KB n = 4576, m = 5
81 Correct 3 ms 1528 KB n = 4297, m = 5
82 Correct 6 ms 1528 KB n = 4662, m = 48
83 Correct 7 ms 1528 KB n = 4753, m = 49
84 Correct 7 ms 1400 KB n = 4148, m = 46
85 Correct 6 ms 1528 KB n = 4906, m = 50
86 Correct 7 ms 1528 KB n = 4967, m = 50
87 Correct 7 ms 1528 KB n = 4828, m = 49
88 Correct 5 ms 1400 KB n = 4105, m = 45
89 Correct 6 ms 1528 KB n = 4954, m = 50
90 Correct 6 ms 1528 KB n = 4884, m = 49
91 Correct 10 ms 1372 KB n = 4307, m = 100
92 Correct 12 ms 1400 KB n = 4668, m = 100
93 Correct 12 ms 1528 KB n = 4647, m = 100
94 Correct 10 ms 1400 KB n = 4372, m = 100
95 Correct 11 ms 1532 KB n = 4791, m = 100
96 Correct 9 ms 1272 KB n = 4029, m = 100
97 Correct 9 ms 1400 KB n = 4439, m = 100
98 Correct 9 ms 1272 KB n = 4018, m = 100
99 Correct 11 ms 1528 KB n = 4979, m = 100
100 Correct 8 ms 1528 KB n = 4996, m = 89
101 Correct 67 ms 41744 KB n = 178952, m = 10
102 Correct 71 ms 42384 KB n = 180674, m = 10
103 Correct 67 ms 39256 KB n = 167639, m = 10
104 Correct 58 ms 40480 KB n = 172892, m = 10
105 Correct 60 ms 39336 KB n = 168125, m = 10
106 Correct 57 ms 38976 KB n = 166514, m = 10
107 Correct 60 ms 43024 KB n = 183874, m = 10
108 Correct 62 ms 45496 KB n = 194560, m = 10
109 Correct 54 ms 40280 KB n = 171994, m = 10
110 Correct 299 ms 39124 KB n = 165207, m = 100
111 Correct 347 ms 44808 KB n = 188459, m = 100
112 Correct 315 ms 38456 KB n = 162137, m = 100
113 Correct 261 ms 40232 KB n = 169691, m = 100
114 Correct 299 ms 44440 KB n = 187642, m = 100
115 Correct 288 ms 39864 KB n = 168456, m = 100
116 Correct 244 ms 42824 KB n = 180980, m = 100
117 Correct 273 ms 45416 KB n = 191687, m = 100
118 Correct 255 ms 39616 KB n = 166437, m = 100
119 Correct 319 ms 44096 KB n = 186520, m = 100
120 Correct 334 ms 39472 KB n = 166675, m = 100
121 Correct 368 ms 44352 KB n = 187725, m = 100
122 Correct 242 ms 38344 KB n = 161455, m = 100
123 Correct 320 ms 45668 KB n = 192977, m = 100
124 Correct 329 ms 45720 KB n = 192612, m = 100
125 Correct 279 ms 46520 KB n = 196512, m = 100
126 Correct 287 ms 47276 KB n = 198968, m = 100
127 Correct 249 ms 39484 KB n = 166659, m = 100
128 Correct 122 ms 47088 KB n = 199997, m = 34
129 Correct 39 ms 46632 KB n = 200000, m = 1
130 Correct 49 ms 47532 KB n = 200000, m = 1
131 Correct 327 ms 47572 KB n = 199999, m = 100
132 Correct 302 ms 47224 KB n = 199999, m = 100
133 Correct 14 ms 3568 KB n = 200000, m = 1