Submission #587726

# Submission time Handle Problem Language Result Execution time Memory
587726 2022-07-02T09:37:36 Z tranxuanbach Paint By Numbers (IOI16_paint) C++17
100 / 100
424 ms 56484 KB
#ifndef FEXT

#include "paint.h"

#endif

#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds;

#define endl '\n'
#define fi first
#define se second
#define For(i, l, r) for (auto i = (l); i < (r); i++)
#define ForE(i, l, r) for (auto i = (l); i <= (r); i++)
#define FordE(i, l, r) for (auto i = (l); i >= (r); i--)
#define Fora(v, a) for (auto v: (a))
#define bend(a) (a).begin(), (a).end()
#define isz(a) ((signed)(a).size())

using ll = long long;
using ld = long double;
using pii = pair <int, int>;
using vi = vector <int>;
using vpii = vector <pii>;
using vvi = vector <vi>;

const int N = 2e5 + 5, M = 1e2 + 5;

int n, m;
string s;
int a[M];

int can0[N], can1[N];

bool canrange0(int l, int r){
    l = max(l, 1); r = min(r, n);
    if (l > r){
        return 1;
    }
    if (can0[r] - can0[l - 1] == r - l + 1){
        return 1;
    }
    return 0;
}

bool canrange1(int l, int r){
    l = max(l, 1); r = min(r, n);
    if (l > r){
        return 1;
    }
    if (can1[r] - can1[l - 1] == r - l + 1){
        return 1;
    }
    return 0;
}

bool dp[M][N], vis[M][N];

int set0[N], set1[N];

void dfs_state(int i, int j){
    vis[i][j] = 1;
    if (canrange0(j, j)){
        if (dp[i][j - 1]){
            set0[j]++; set0[j + 1]--;
            if (!vis[i][j - 1]){
                dfs_state(i, j - 1);
            }
        }
    }
    bool ck = canrange1(j - a[i] + 1, j) & canrange0(j - a[i], j - a[i]);
    if (i == 1){
        ck &= canrange0(1, j - a[i]);
    }
    if (i == m){
        ck &= canrange0(j + 1, n);
    }
    if (ck){
        if (i == 1 or dp[i - 1][j - a[i] - 1]){
            set1[j - a[i] + 1]++; set1[j + 1]--;
            if (j - a[i] > 0){
                set0[j - a[i]]++; set0[j - a[i] + 1]--;
            }
            if (i == 1 and j - a[i] > 0){
                set0[1]++; set0[j - a[i] + 1]--;
            }
            if (i == m and j + 1 <= n){
                set0[j + 1]++; set0[n + 1]--;
            }
            if (i - 1 > 0 and j - a[i] - 1 > 0 and !vis[i - 1][j - a[i] - 1]){
                dfs_state(i - 1, j - a[i] - 1);
            }
        }
    }
}

string ans;

string solve_puzzle(string _s, vi _c){
    n = isz(_s); m = isz(_c);
    s = ' ' + _s;
    ForE(i, 1, m){
        a[i] = _c[i - 1];
    }

    ForE(i, 1, n){
        can0[i] = can0[i - 1] + (s[i] != 'X');
    }
    ForE(i, 1, n){
        can1[i] = can1[i - 1] + (s[i] != '_');
    }

    ans = ' ' + string(n, '?');

    ForE(i, 1, m){
        ForE(j, (i == 1 ? a[i] : a[i] + 1), n){
            if (canrange0(j, j)){
                dp[i][j] |= dp[i][j - 1];
            }
            bool ck = canrange1(j - a[i] + 1, j) & canrange0(j - a[i], j - a[i]);
            if (i == 1){
                ck &= canrange0(1, j - a[i]);
            }
            if (i == m){
                ck &= canrange0(j + 1, n);
            }
            if (ck){
                if (i == 1){
                    dp[i][j] = 1;
                }
                else{
                    dp[i][j] |= dp[i - 1][j - a[i] - 1];
                }
            }
            // cout << i << ' ' << j << ' ' << dp[i][j] << endl;
        }
    }
    assert(dp[m][n]);
    /*{
        int i = m, j = n;
        while (i){
            bool ck = canrange1(j - a[i] + 1, j) & canrange0(j - a[i], j - a[i]);
            if (i == 1){
                ck &= canrange0(1, j - a[i]);
            }
            if (i == m){
                ck &= canrange0(j + 1, n);
            }
            if (ck){
                if (i == 1 or dp[i - 1][j - a[i] - 1]){
                    ForE(tj, j - a[i] + 1, j){
                        sright[tj] = 'X';
                    }
                    posright[i] = j - a[i] + 1;
                    j -= a[i] + 1; i--;
                    continue;
                }
            }
            j--;
        }
    }*/

    /*memset(dp, 0, sizeof(dp));
    FordE(i, m, 1){
        FordE(j, n - (i == m ? a[i] : a[i] + 1) + 1, 1){
            if (canrange0(j, j)){
                dp[i][j] |= dp[i][j + 1];
            }
            bool ck = canrange1(j, j + a[i] - 1) & canrange0(j + a[i], j + a[i]);
            if (i == m){
                ck &= canrange0(j + a[i], n);
            }
            if (i == 1){
                ck &= canrange0(1, j - 1);
            }
            if (ck){
                if (i == m){
                    dp[i][j] = 1;
                }
                else{
                    dp[i][j] |= dp[i + 1][j + a[i] + 1];
                }
            }
        }
    }
    assert(dp[1][1]);
    {
        int i = 1, j = 1;
        while (i <= m){
            bool ck = canrange1(j, j + a[i] - 1) & canrange0(j + a[i], j + a[i]);
            if (i == m){
                ck &= canrange0(j + a[i], n);
            }
            if (i == 1){
                ck &= canrange0(1, j - 1);
            }
            if (ck){
                if (i == m or dp[i + 1][j + a[i] + 1]){
                    ForE(tj, j, j + a[i] - 1){
                        sleft[tj] = 'X';
                    }
                    posleft[i] = j;
                    j += a[i] + 1; i++;
                    continue;
                }
            }
            j++;
        }
    }*/

    dfs_state(m, n);

    ForE(i, 1, n){
        set0[i] += set0[i - 1];
        set1[i] += set1[i - 1];
    }
    ForE(i, 1, n){
        if (set0[i] == 0){
            ans[i] = 'X';
        }
        if (set1[i] == 0){
            ans[i] = '_';
        }
    }

    ans.erase(0, 1);
    return ans;
}

#ifdef FEXT

const int S_MAX_LEN = 200 * 1000;
char buf[S_MAX_LEN + 1];

signed main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    freopen("KEK.inp", "r", stdin);
    freopen("KEK.out", "w", stdout);
    assert(1 == scanf("%s", buf));
    std::string s = buf;
    int c_len;
    assert(1 == scanf("%d", &c_len));
    std::vector<int> c(c_len);
    for (int i = 0; i < c_len; i++) {
        assert(1 == scanf("%d", &c[i]));
    }
    std::string ans = solve_puzzle(s, c);


    printf("%s\n", ans.data());
    return 0;
}

#endif

/*
==================================================+
INPUT:                                            |
--------------------------------------------------|

--------------------------------------------------|
==================================================+
OUTPUT:                                           |
--------------------------------------------------|

--------------------------------------------------|
==================================================+
*/
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB n = 13, m = 1
2 Correct 0 ms 340 KB n = 18, m = 1
3 Correct 1 ms 340 KB n = 17, m = 1
4 Correct 1 ms 340 KB n = 1, m = 1
5 Correct 1 ms 340 KB n = 20, m = 1
6 Correct 1 ms 320 KB n = 20, m = 1
7 Correct 1 ms 340 KB n = 20, m = 1
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB n = 13, m = 1
2 Correct 0 ms 340 KB n = 18, m = 1
3 Correct 1 ms 340 KB n = 17, m = 1
4 Correct 1 ms 340 KB n = 1, m = 1
5 Correct 1 ms 340 KB n = 20, m = 1
6 Correct 1 ms 320 KB n = 20, m = 1
7 Correct 1 ms 340 KB n = 20, m = 1
8 Correct 1 ms 340 KB n = 20, m = 5
9 Correct 1 ms 340 KB n = 18, m = 3
10 Correct 1 ms 312 KB n = 17, m = 2
11 Correct 0 ms 324 KB n = 20, m = 2
12 Correct 1 ms 340 KB n = 17, m = 4
13 Correct 1 ms 340 KB n = 17, m = 6
14 Correct 1 ms 340 KB n = 17, m = 1
15 Correct 1 ms 316 KB n = 17, m = 4
16 Correct 1 ms 312 KB n = 13, m = 3
17 Correct 1 ms 320 KB n = 18, m = 4
18 Correct 1 ms 340 KB n = 20, m = 10
19 Correct 1 ms 340 KB n = 19, m = 10
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB n = 13, m = 1
2 Correct 0 ms 340 KB n = 18, m = 1
3 Correct 1 ms 340 KB n = 17, m = 1
4 Correct 1 ms 340 KB n = 1, m = 1
5 Correct 1 ms 340 KB n = 20, m = 1
6 Correct 1 ms 320 KB n = 20, m = 1
7 Correct 1 ms 340 KB n = 20, m = 1
8 Correct 1 ms 340 KB n = 20, m = 5
9 Correct 1 ms 340 KB n = 18, m = 3
10 Correct 1 ms 312 KB n = 17, m = 2
11 Correct 0 ms 324 KB n = 20, m = 2
12 Correct 1 ms 340 KB n = 17, m = 4
13 Correct 1 ms 340 KB n = 17, m = 6
14 Correct 1 ms 340 KB n = 17, m = 1
15 Correct 1 ms 316 KB n = 17, m = 4
16 Correct 1 ms 312 KB n = 13, m = 3
17 Correct 1 ms 320 KB n = 18, m = 4
18 Correct 1 ms 340 KB n = 20, m = 10
19 Correct 1 ms 340 KB n = 19, m = 10
20 Correct 1 ms 340 KB n = 100, m = 5
21 Correct 0 ms 340 KB n = 90, m = 3
22 Correct 1 ms 340 KB n = 86, m = 2
23 Correct 1 ms 308 KB n = 81, m = 4
24 Correct 1 ms 340 KB n = 89, m = 10
25 Correct 1 ms 468 KB n = 81, m = 23
26 Correct 1 ms 340 KB n = 86, m = 8
27 Correct 1 ms 468 KB n = 53, m = 22
28 Correct 1 ms 596 KB n = 89, m = 35
29 Correct 1 ms 468 KB n = 63, m = 25
30 Correct 1 ms 724 KB n = 100, m = 50
31 Correct 1 ms 724 KB n = 99, m = 50
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB n = 13, m = 1
2 Correct 0 ms 340 KB n = 18, m = 1
3 Correct 1 ms 340 KB n = 17, m = 1
4 Correct 1 ms 340 KB n = 1, m = 1
5 Correct 1 ms 340 KB n = 20, m = 1
6 Correct 1 ms 320 KB n = 20, m = 1
7 Correct 1 ms 340 KB n = 20, m = 1
8 Correct 1 ms 340 KB n = 20, m = 5
9 Correct 1 ms 340 KB n = 18, m = 3
10 Correct 1 ms 312 KB n = 17, m = 2
11 Correct 0 ms 324 KB n = 20, m = 2
12 Correct 1 ms 340 KB n = 17, m = 4
13 Correct 1 ms 340 KB n = 17, m = 6
14 Correct 1 ms 340 KB n = 17, m = 1
15 Correct 1 ms 316 KB n = 17, m = 4
16 Correct 1 ms 312 KB n = 13, m = 3
17 Correct 1 ms 320 KB n = 18, m = 4
18 Correct 1 ms 340 KB n = 20, m = 10
19 Correct 1 ms 340 KB n = 19, m = 10
20 Correct 1 ms 340 KB n = 100, m = 5
21 Correct 0 ms 340 KB n = 90, m = 3
22 Correct 1 ms 340 KB n = 86, m = 2
23 Correct 1 ms 308 KB n = 81, m = 4
24 Correct 1 ms 340 KB n = 89, m = 10
25 Correct 1 ms 468 KB n = 81, m = 23
26 Correct 1 ms 340 KB n = 86, m = 8
27 Correct 1 ms 468 KB n = 53, m = 22
28 Correct 1 ms 596 KB n = 89, m = 35
29 Correct 1 ms 468 KB n = 63, m = 25
30 Correct 1 ms 724 KB n = 100, m = 50
31 Correct 1 ms 724 KB n = 99, m = 50
32 Correct 1 ms 316 KB n = 13, m = 4
33 Correct 1 ms 308 KB n = 86, m = 2
34 Correct 1 ms 312 KB n = 88, m = 2
35 Correct 1 ms 340 KB n = 86, m = 2
36 Correct 1 ms 340 KB n = 81, m = 6
37 Correct 1 ms 316 KB n = 98, m = 7
38 Correct 1 ms 340 KB n = 92, m = 7
39 Correct 1 ms 468 KB n = 88, m = 21
40 Correct 1 ms 468 KB n = 90, m = 21
41 Correct 1 ms 468 KB n = 98, m = 22
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB n = 13, m = 1
2 Correct 0 ms 340 KB n = 18, m = 1
3 Correct 1 ms 340 KB n = 17, m = 1
4 Correct 1 ms 340 KB n = 1, m = 1
5 Correct 1 ms 340 KB n = 20, m = 1
6 Correct 1 ms 320 KB n = 20, m = 1
7 Correct 1 ms 340 KB n = 20, m = 1
8 Correct 1 ms 340 KB n = 20, m = 5
9 Correct 1 ms 340 KB n = 18, m = 3
10 Correct 1 ms 312 KB n = 17, m = 2
11 Correct 0 ms 324 KB n = 20, m = 2
12 Correct 1 ms 340 KB n = 17, m = 4
13 Correct 1 ms 340 KB n = 17, m = 6
14 Correct 1 ms 340 KB n = 17, m = 1
15 Correct 1 ms 316 KB n = 17, m = 4
16 Correct 1 ms 312 KB n = 13, m = 3
17 Correct 1 ms 320 KB n = 18, m = 4
18 Correct 1 ms 340 KB n = 20, m = 10
19 Correct 1 ms 340 KB n = 19, m = 10
20 Correct 1 ms 340 KB n = 100, m = 5
21 Correct 0 ms 340 KB n = 90, m = 3
22 Correct 1 ms 340 KB n = 86, m = 2
23 Correct 1 ms 308 KB n = 81, m = 4
24 Correct 1 ms 340 KB n = 89, m = 10
25 Correct 1 ms 468 KB n = 81, m = 23
26 Correct 1 ms 340 KB n = 86, m = 8
27 Correct 1 ms 468 KB n = 53, m = 22
28 Correct 1 ms 596 KB n = 89, m = 35
29 Correct 1 ms 468 KB n = 63, m = 25
30 Correct 1 ms 724 KB n = 100, m = 50
31 Correct 1 ms 724 KB n = 99, m = 50
32 Correct 1 ms 316 KB n = 13, m = 4
33 Correct 1 ms 308 KB n = 86, m = 2
34 Correct 1 ms 312 KB n = 88, m = 2
35 Correct 1 ms 340 KB n = 86, m = 2
36 Correct 1 ms 340 KB n = 81, m = 6
37 Correct 1 ms 316 KB n = 98, m = 7
38 Correct 1 ms 340 KB n = 92, m = 7
39 Correct 1 ms 468 KB n = 88, m = 21
40 Correct 1 ms 468 KB n = 90, m = 21
41 Correct 1 ms 468 KB n = 98, m = 22
42 Correct 1 ms 340 KB n = 11, m = 2
43 Correct 0 ms 340 KB n = 11, m = 2
44 Correct 0 ms 340 KB n = 13, m = 3
45 Correct 1 ms 340 KB n = 86, m = 2
46 Correct 1 ms 340 KB n = 81, m = 2
47 Correct 1 ms 340 KB n = 93, m = 2
48 Correct 1 ms 340 KB n = 81, m = 2
49 Correct 1 ms 340 KB n = 86, m = 2
50 Correct 1 ms 340 KB n = 90, m = 2
51 Correct 1 ms 340 KB n = 87, m = 2
52 Correct 1 ms 340 KB n = 97, m = 2
53 Correct 1 ms 340 KB n = 85, m = 2
54 Correct 0 ms 340 KB n = 88, m = 7
55 Correct 1 ms 320 KB n = 96, m = 7
56 Correct 1 ms 340 KB n = 85, m = 7
57 Correct 1 ms 340 KB n = 92, m = 7
58 Correct 1 ms 340 KB n = 92, m = 7
59 Correct 1 ms 340 KB n = 86, m = 7
60 Correct 1 ms 340 KB n = 87, m = 7
61 Correct 1 ms 340 KB n = 100, m = 7
62 Correct 1 ms 340 KB n = 100, m = 7
63 Correct 1 ms 444 KB n = 92, m = 21
64 Correct 1 ms 468 KB n = 93, m = 22
65 Correct 1 ms 468 KB n = 95, m = 22
66 Correct 1 ms 468 KB n = 98, m = 22
67 Correct 0 ms 440 KB n = 94, m = 22
68 Correct 1 ms 468 KB n = 93, m = 22
69 Correct 1 ms 444 KB n = 88, m = 21
70 Correct 1 ms 468 KB n = 83, m = 20
71 Correct 1 ms 444 KB n = 99, m = 23
72 Correct 1 ms 468 KB n = 96, m = 19
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB n = 13, m = 1
2 Correct 0 ms 340 KB n = 18, m = 1
3 Correct 1 ms 340 KB n = 17, m = 1
4 Correct 1 ms 340 KB n = 1, m = 1
5 Correct 1 ms 340 KB n = 20, m = 1
6 Correct 1 ms 320 KB n = 20, m = 1
7 Correct 1 ms 340 KB n = 20, m = 1
8 Correct 1 ms 340 KB n = 20, m = 5
9 Correct 1 ms 340 KB n = 18, m = 3
10 Correct 1 ms 312 KB n = 17, m = 2
11 Correct 0 ms 324 KB n = 20, m = 2
12 Correct 1 ms 340 KB n = 17, m = 4
13 Correct 1 ms 340 KB n = 17, m = 6
14 Correct 1 ms 340 KB n = 17, m = 1
15 Correct 1 ms 316 KB n = 17, m = 4
16 Correct 1 ms 312 KB n = 13, m = 3
17 Correct 1 ms 320 KB n = 18, m = 4
18 Correct 1 ms 340 KB n = 20, m = 10
19 Correct 1 ms 340 KB n = 19, m = 10
20 Correct 1 ms 340 KB n = 100, m = 5
21 Correct 0 ms 340 KB n = 90, m = 3
22 Correct 1 ms 340 KB n = 86, m = 2
23 Correct 1 ms 308 KB n = 81, m = 4
24 Correct 1 ms 340 KB n = 89, m = 10
25 Correct 1 ms 468 KB n = 81, m = 23
26 Correct 1 ms 340 KB n = 86, m = 8
27 Correct 1 ms 468 KB n = 53, m = 22
28 Correct 1 ms 596 KB n = 89, m = 35
29 Correct 1 ms 468 KB n = 63, m = 25
30 Correct 1 ms 724 KB n = 100, m = 50
31 Correct 1 ms 724 KB n = 99, m = 50
32 Correct 1 ms 316 KB n = 13, m = 4
33 Correct 1 ms 308 KB n = 86, m = 2
34 Correct 1 ms 312 KB n = 88, m = 2
35 Correct 1 ms 340 KB n = 86, m = 2
36 Correct 1 ms 340 KB n = 81, m = 6
37 Correct 1 ms 316 KB n = 98, m = 7
38 Correct 1 ms 340 KB n = 92, m = 7
39 Correct 1 ms 468 KB n = 88, m = 21
40 Correct 1 ms 468 KB n = 90, m = 21
41 Correct 1 ms 468 KB n = 98, m = 22
42 Correct 1 ms 340 KB n = 11, m = 2
43 Correct 0 ms 340 KB n = 11, m = 2
44 Correct 0 ms 340 KB n = 13, m = 3
45 Correct 1 ms 340 KB n = 86, m = 2
46 Correct 1 ms 340 KB n = 81, m = 2
47 Correct 1 ms 340 KB n = 93, m = 2
48 Correct 1 ms 340 KB n = 81, m = 2
49 Correct 1 ms 340 KB n = 86, m = 2
50 Correct 1 ms 340 KB n = 90, m = 2
51 Correct 1 ms 340 KB n = 87, m = 2
52 Correct 1 ms 340 KB n = 97, m = 2
53 Correct 1 ms 340 KB n = 85, m = 2
54 Correct 0 ms 340 KB n = 88, m = 7
55 Correct 1 ms 320 KB n = 96, m = 7
56 Correct 1 ms 340 KB n = 85, m = 7
57 Correct 1 ms 340 KB n = 92, m = 7
58 Correct 1 ms 340 KB n = 92, m = 7
59 Correct 1 ms 340 KB n = 86, m = 7
60 Correct 1 ms 340 KB n = 87, m = 7
61 Correct 1 ms 340 KB n = 100, m = 7
62 Correct 1 ms 340 KB n = 100, m = 7
63 Correct 1 ms 444 KB n = 92, m = 21
64 Correct 1 ms 468 KB n = 93, m = 22
65 Correct 1 ms 468 KB n = 95, m = 22
66 Correct 1 ms 468 KB n = 98, m = 22
67 Correct 0 ms 440 KB n = 94, m = 22
68 Correct 1 ms 468 KB n = 93, m = 22
69 Correct 1 ms 444 KB n = 88, m = 21
70 Correct 1 ms 468 KB n = 83, m = 20
71 Correct 1 ms 444 KB n = 99, m = 23
72 Correct 1 ms 468 KB n = 96, m = 19
73 Correct 1 ms 596 KB n = 4825, m = 5
74 Correct 1 ms 596 KB n = 4384, m = 5
75 Correct 1 ms 596 KB n = 4528, m = 5
76 Correct 1 ms 596 KB n = 4980, m = 5
77 Correct 1 ms 596 KB n = 4730, m = 5
78 Correct 1 ms 596 KB n = 4784, m = 5
79 Correct 1 ms 608 KB n = 4875, m = 5
80 Correct 1 ms 596 KB n = 4576, m = 5
81 Correct 1 ms 576 KB n = 4297, m = 5
82 Correct 3 ms 1236 KB n = 4662, m = 48
83 Correct 4 ms 1236 KB n = 4753, m = 49
84 Correct 4 ms 1108 KB n = 4148, m = 46
85 Correct 3 ms 1236 KB n = 4906, m = 50
86 Correct 3 ms 1236 KB n = 4967, m = 50
87 Correct 3 ms 1236 KB n = 4828, m = 49
88 Correct 2 ms 1108 KB n = 4105, m = 45
89 Correct 3 ms 1236 KB n = 4954, m = 50
90 Correct 3 ms 1236 KB n = 4884, m = 49
91 Correct 6 ms 1752 KB n = 4307, m = 100
92 Correct 6 ms 1908 KB n = 4668, m = 100
93 Correct 8 ms 1876 KB n = 4647, m = 100
94 Correct 6 ms 1748 KB n = 4372, m = 100
95 Correct 7 ms 1876 KB n = 4791, m = 100
96 Correct 5 ms 1876 KB n = 4029, m = 100
97 Correct 6 ms 1876 KB n = 4439, m = 100
98 Correct 5 ms 1748 KB n = 4018, m = 100
99 Correct 7 ms 2004 KB n = 4979, m = 100
100 Correct 5 ms 1748 KB n = 4996, m = 89
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB n = 13, m = 1
2 Correct 0 ms 340 KB n = 18, m = 1
3 Correct 1 ms 340 KB n = 17, m = 1
4 Correct 1 ms 340 KB n = 1, m = 1
5 Correct 1 ms 340 KB n = 20, m = 1
6 Correct 1 ms 320 KB n = 20, m = 1
7 Correct 1 ms 340 KB n = 20, m = 1
8 Correct 1 ms 340 KB n = 20, m = 5
9 Correct 1 ms 340 KB n = 18, m = 3
10 Correct 1 ms 312 KB n = 17, m = 2
11 Correct 0 ms 324 KB n = 20, m = 2
12 Correct 1 ms 340 KB n = 17, m = 4
13 Correct 1 ms 340 KB n = 17, m = 6
14 Correct 1 ms 340 KB n = 17, m = 1
15 Correct 1 ms 316 KB n = 17, m = 4
16 Correct 1 ms 312 KB n = 13, m = 3
17 Correct 1 ms 320 KB n = 18, m = 4
18 Correct 1 ms 340 KB n = 20, m = 10
19 Correct 1 ms 340 KB n = 19, m = 10
20 Correct 1 ms 340 KB n = 100, m = 5
21 Correct 0 ms 340 KB n = 90, m = 3
22 Correct 1 ms 340 KB n = 86, m = 2
23 Correct 1 ms 308 KB n = 81, m = 4
24 Correct 1 ms 340 KB n = 89, m = 10
25 Correct 1 ms 468 KB n = 81, m = 23
26 Correct 1 ms 340 KB n = 86, m = 8
27 Correct 1 ms 468 KB n = 53, m = 22
28 Correct 1 ms 596 KB n = 89, m = 35
29 Correct 1 ms 468 KB n = 63, m = 25
30 Correct 1 ms 724 KB n = 100, m = 50
31 Correct 1 ms 724 KB n = 99, m = 50
32 Correct 1 ms 316 KB n = 13, m = 4
33 Correct 1 ms 308 KB n = 86, m = 2
34 Correct 1 ms 312 KB n = 88, m = 2
35 Correct 1 ms 340 KB n = 86, m = 2
36 Correct 1 ms 340 KB n = 81, m = 6
37 Correct 1 ms 316 KB n = 98, m = 7
38 Correct 1 ms 340 KB n = 92, m = 7
39 Correct 1 ms 468 KB n = 88, m = 21
40 Correct 1 ms 468 KB n = 90, m = 21
41 Correct 1 ms 468 KB n = 98, m = 22
42 Correct 1 ms 340 KB n = 11, m = 2
43 Correct 0 ms 340 KB n = 11, m = 2
44 Correct 0 ms 340 KB n = 13, m = 3
45 Correct 1 ms 340 KB n = 86, m = 2
46 Correct 1 ms 340 KB n = 81, m = 2
47 Correct 1 ms 340 KB n = 93, m = 2
48 Correct 1 ms 340 KB n = 81, m = 2
49 Correct 1 ms 340 KB n = 86, m = 2
50 Correct 1 ms 340 KB n = 90, m = 2
51 Correct 1 ms 340 KB n = 87, m = 2
52 Correct 1 ms 340 KB n = 97, m = 2
53 Correct 1 ms 340 KB n = 85, m = 2
54 Correct 0 ms 340 KB n = 88, m = 7
55 Correct 1 ms 320 KB n = 96, m = 7
56 Correct 1 ms 340 KB n = 85, m = 7
57 Correct 1 ms 340 KB n = 92, m = 7
58 Correct 1 ms 340 KB n = 92, m = 7
59 Correct 1 ms 340 KB n = 86, m = 7
60 Correct 1 ms 340 KB n = 87, m = 7
61 Correct 1 ms 340 KB n = 100, m = 7
62 Correct 1 ms 340 KB n = 100, m = 7
63 Correct 1 ms 444 KB n = 92, m = 21
64 Correct 1 ms 468 KB n = 93, m = 22
65 Correct 1 ms 468 KB n = 95, m = 22
66 Correct 1 ms 468 KB n = 98, m = 22
67 Correct 0 ms 440 KB n = 94, m = 22
68 Correct 1 ms 468 KB n = 93, m = 22
69 Correct 1 ms 444 KB n = 88, m = 21
70 Correct 1 ms 468 KB n = 83, m = 20
71 Correct 1 ms 444 KB n = 99, m = 23
72 Correct 1 ms 468 KB n = 96, m = 19
73 Correct 1 ms 596 KB n = 4825, m = 5
74 Correct 1 ms 596 KB n = 4384, m = 5
75 Correct 1 ms 596 KB n = 4528, m = 5
76 Correct 1 ms 596 KB n = 4980, m = 5
77 Correct 1 ms 596 KB n = 4730, m = 5
78 Correct 1 ms 596 KB n = 4784, m = 5
79 Correct 1 ms 608 KB n = 4875, m = 5
80 Correct 1 ms 596 KB n = 4576, m = 5
81 Correct 1 ms 576 KB n = 4297, m = 5
82 Correct 3 ms 1236 KB n = 4662, m = 48
83 Correct 4 ms 1236 KB n = 4753, m = 49
84 Correct 4 ms 1108 KB n = 4148, m = 46
85 Correct 3 ms 1236 KB n = 4906, m = 50
86 Correct 3 ms 1236 KB n = 4967, m = 50
87 Correct 3 ms 1236 KB n = 4828, m = 49
88 Correct 2 ms 1108 KB n = 4105, m = 45
89 Correct 3 ms 1236 KB n = 4954, m = 50
90 Correct 3 ms 1236 KB n = 4884, m = 49
91 Correct 6 ms 1752 KB n = 4307, m = 100
92 Correct 6 ms 1908 KB n = 4668, m = 100
93 Correct 8 ms 1876 KB n = 4647, m = 100
94 Correct 6 ms 1748 KB n = 4372, m = 100
95 Correct 7 ms 1876 KB n = 4791, m = 100
96 Correct 5 ms 1876 KB n = 4029, m = 100
97 Correct 6 ms 1876 KB n = 4439, m = 100
98 Correct 5 ms 1748 KB n = 4018, m = 100
99 Correct 7 ms 2004 KB n = 4979, m = 100
100 Correct 5 ms 1748 KB n = 4996, m = 89
101 Correct 27 ms 11336 KB n = 178952, m = 10
102 Correct 28 ms 12364 KB n = 180674, m = 10
103 Correct 29 ms 10828 KB n = 167639, m = 10
104 Correct 24 ms 11912 KB n = 172892, m = 10
105 Correct 24 ms 10612 KB n = 168125, m = 10
106 Correct 22 ms 11652 KB n = 166514, m = 10
107 Correct 23 ms 12248 KB n = 183874, m = 10
108 Correct 24 ms 12608 KB n = 194560, m = 10
109 Correct 22 ms 12924 KB n = 171994, m = 10
110 Correct 195 ms 26060 KB n = 165207, m = 100
111 Correct 226 ms 29908 KB n = 188459, m = 100
112 Correct 188 ms 26288 KB n = 162137, m = 100
113 Correct 148 ms 27132 KB n = 169691, m = 100
114 Correct 183 ms 29964 KB n = 187642, m = 100
115 Correct 150 ms 26924 KB n = 168456, m = 100
116 Correct 153 ms 29164 KB n = 180980, m = 100
117 Correct 208 ms 30520 KB n = 191687, m = 100
118 Correct 153 ms 26684 KB n = 166437, m = 100
119 Correct 214 ms 29836 KB n = 186520, m = 100
120 Correct 230 ms 25768 KB n = 166675, m = 100
121 Correct 219 ms 29416 KB n = 187725, m = 100
122 Correct 162 ms 26072 KB n = 161455, m = 100
123 Correct 177 ms 30296 KB n = 192977, m = 100
124 Correct 176 ms 30384 KB n = 192612, m = 100
125 Correct 164 ms 30396 KB n = 196512, m = 100
126 Correct 176 ms 30768 KB n = 198968, m = 100
127 Correct 139 ms 26840 KB n = 166659, m = 100
128 Correct 63 ms 14900 KB n = 199997, m = 34
129 Correct 5 ms 4804 KB n = 200000, m = 1
130 Correct 19 ms 17732 KB n = 200000, m = 1
131 Correct 424 ms 56484 KB n = 199999, m = 100
132 Correct 185 ms 24820 KB n = 199999, m = 100
133 Correct 5 ms 4812 KB n = 200000, m = 1