답안 #836730

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
836730 2023-08-24T14:34:33 Z Tigerpants Paint By Numbers (IOI16_paint) C++17
100 / 100
275 ms 85212 KB
#include "paint.h"
#include <iostream>
#include <vector>
#include <map>
#include <set>
#include <numeric>
#include <functional>
#include <algorithm>
#include <cstdlib>
#include <string>

using namespace std;

typedef long long int ll;
typedef vector<ll> vll;
typedef vector<vll> vvll;
typedef pair<ll, ll> pll;
typedef vector<pll> vpll;
typedef pair<bool, bool> pbo;
typedef vector<pbo> vpbo;
typedef vector<bool> vb;

const ll MAXN = 200000;
const ll MAXK = 100;

#define rep(i, a, b) for (ll i = a; i < b; i++)
#define sz(a) (ll) a.size()
#define pb(a) push_back(a)
#define mp(a, b) make_pair(a, b)
#define trav(i, a, t) for (t::iterator i = a.begin(); i != a.end(); i++)

ll n, k;
vll c;

bool fdp[MAXN + 1][MAXK + 1][2];
bool bdp[MAXN + 1][MAXK + 1][2];

vll white; // white[i] = #white in [0, i)
vll black; // . . .

bool inline no_white(ll l, ll r) { // check if interval [l, r] has no white
    return white[r + 1] == white[l]; // white[r + 1] == white[r] + P[r] = ... = P[r] + P[r - 1] + ... + P[l] + while[l]
}

bool inline no_black(ll l, ll r) { // check if interval [l, r] has no black
    return black[r + 1] == black[l];
}

std::string solve_puzzle(std::string s, std::vector<int> c_) {
    //cout << "solve_puzzle" << endl;

    n = sz(s);
    k = sz(c_);
    c.resize(k);
    rep(i, 0, k) c[i] = c_[i];

    //cout << "clear fdp bdp" << endl;
    rep(i, 0, MAXN + 1) {
        rep(j, 0, MAXK + 1) {
            fdp[i][j][0] = false;
            fdp[i][j][1] = false;
            bdp[i][j][0] = false;
            bdp[i][j][1] = false;
        }
    }

    //cout << "white & black" << endl;
    // prefix sum
    white.resize(n + 1);
    black.resize(n + 1);
    white[0] = 0; black[0] = 0;
    rep(i, 0, n) {
        white[i + 1] = white[i] + (s[i] == '_');
        black[i + 1] = black[i] + (s[i] == 'X');
    }

    //cout << "forward dp" << endl;
    fdp[0][0][1] = no_white(0, c[0] - 1);
    fdp[0][0][0] = no_black(0, 0);
    // do forward_dp
    rep(x, 1, n) {
        rep(i, 0, k) {
            if (x + c[i] <= n) {
                fdp[x][i][1] = fdp[x - 1][i][0] & no_white(x, x + c[i] - 1);
            }
        }
        // i == 0
        fdp[x][0][0] = fdp[x - 1][0][0] & no_black(x, x);

        rep(i, 1, k + 1) {
            if (x >= c[i - 1]) {
                fdp[x][i][0] = (fdp[x - 1][i][0] | fdp[x - c[i - 1]][i - 1][1]) & no_black(x, x);
            } else {
                fdp[x][i][0] = fdp[x - 1][i][0] & no_black(x, x);
            }
        }
        /* rep(i, 0, k) {
            fdp[x][i][1] = fdp[x - 1][i][0] & no_white(x, x + c[i] - 1);
            fdp[x][i][0] = (fdp[x - 1][i][0] | fdp[x - c[i - 1]][i - 1][1]) & no_black(x, x);
        } */
    }

    //cout << "backward dp" << endl;
    bdp[n - c[k - 1]][k - 1][1] = no_white(n - c[k - 1], n - 1);
    //bdp[n][k][0] = true;
    bdp[n - 1][k][0] = no_black(n - 1, n - 1);
    // do backward_dp
    for (ll x = n - 2; x >= 0; x--) {
        rep(i, 0, k) {
            if (x + c[i] <= n) {
                /* if ((x == 0) && (i == 0)) {
                    cout << "here: " << bdp[x + c[i]][i + 1][0] << " " << no_white(x, x + c[i] - 1) << endl;
                } */
                bdp[x][i][1] |= bdp[x + c[i]][i + 1][0] & no_white(x, x + c[i] - 1);
            }
        }
        rep(i, 0, k) {
            bdp[x][i][0] = (bdp[x + 1][i][0] | bdp[x + 1][i][1]) & no_black(x, x);
        }
        bdp[x][k][0] = bdp[x + 1][k][0] & no_black(x, x);
        /* rep(i, 0, k) {
            bdp[x][i][1] = bdp[x + c[i]][i + 1][0] & no_white(x, x + c[i] - 1);
            bdp[x][i][0] = (bdp[x + 1][i][0] | bdp[x + 1][i + 1][1]) & no_black(x, x);
        } */
    }

    //cout << "compile possibilities" << endl;
    vb can_be_white(n, false);
    vb can_be_black(n, false);
    vll black_sweep(n, 0);

    rep(x, 0, n) {
        rep(i, 0, k + 1) {
            if (fdp[x][i][0] & bdp[x][i][0]) {
                can_be_white[x] = true;
            }
            if (fdp[x][i][1] & bdp[x][i][1]) {
                black_sweep[x]++;
                black_sweep[x + c[i]]--;
            }
        }
    }

    //cout << "sweep:" << endl;
    ll sweep = 0;
    rep(x, 0, n) {
        sweep += black_sweep[x];
        can_be_black[x] = (sweep > 0);
        //cout << sweep << " ";
    }
    //cout << endl;

    //cout << "gen answer" << endl;
    string answ;
    rep(x, 0, n) {
        answ += can_be_white[x] ? (can_be_black[x] ? '?' : '_') : (can_be_black[x] ? 'X' : '.');
    }
    //cout << answ << endl;



    /* cout << "fdp" << endl;;
    cout << "white:" << endl;
    rep(i, 0, k + 1) {
        rep(x, 0, n) {
            cout << fdp[x][i][0] << " ";
        }
        cout << endl;
    }
    cout << "black:" << endl;
    rep(i, 0, k + 1) {
        rep(x, 0, n) {
            cout << fdp[x][i][1] << " ";
        }
        cout << endl;
    }

    cout << "bdp" << endl;;
    cout << "white:" << endl;
    rep(i, 0, k + 1) {
        rep(x, 0, n) {
            cout << bdp[x][i][0] << " ";
        }
        cout << endl;
    }
    cout << "black:" << endl;
    rep(i, 0, k + 1) {
        rep(x, 0, n) {
            cout << bdp[x][i][1] << " ";
        }
        cout << endl;
    }
     */

    return answ;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 62 ms 79352 KB n = 13, m = 1
2 Correct 63 ms 79344 KB n = 18, m = 1
3 Correct 65 ms 79340 KB n = 17, m = 1
4 Correct 68 ms 79352 KB n = 1, m = 1
5 Correct 64 ms 79308 KB n = 20, m = 1
6 Correct 67 ms 79328 KB n = 20, m = 1
7 Correct 70 ms 79272 KB n = 20, m = 1
# 결과 실행 시간 메모리 Grader output
1 Correct 62 ms 79352 KB n = 13, m = 1
2 Correct 63 ms 79344 KB n = 18, m = 1
3 Correct 65 ms 79340 KB n = 17, m = 1
4 Correct 68 ms 79352 KB n = 1, m = 1
5 Correct 64 ms 79308 KB n = 20, m = 1
6 Correct 67 ms 79328 KB n = 20, m = 1
7 Correct 70 ms 79272 KB n = 20, m = 1
8 Correct 65 ms 79280 KB n = 20, m = 5
9 Correct 64 ms 79328 KB n = 18, m = 3
10 Correct 65 ms 79232 KB n = 17, m = 2
11 Correct 66 ms 79308 KB n = 20, m = 2
12 Correct 64 ms 79328 KB n = 17, m = 4
13 Correct 64 ms 79352 KB n = 17, m = 6
14 Correct 64 ms 79296 KB n = 17, m = 1
15 Correct 63 ms 79348 KB n = 17, m = 4
16 Correct 65 ms 79332 KB n = 13, m = 3
17 Correct 66 ms 79296 KB n = 18, m = 4
18 Correct 64 ms 79312 KB n = 20, m = 10
19 Correct 67 ms 79252 KB n = 19, m = 10
# 결과 실행 시간 메모리 Grader output
1 Correct 62 ms 79352 KB n = 13, m = 1
2 Correct 63 ms 79344 KB n = 18, m = 1
3 Correct 65 ms 79340 KB n = 17, m = 1
4 Correct 68 ms 79352 KB n = 1, m = 1
5 Correct 64 ms 79308 KB n = 20, m = 1
6 Correct 67 ms 79328 KB n = 20, m = 1
7 Correct 70 ms 79272 KB n = 20, m = 1
8 Correct 65 ms 79280 KB n = 20, m = 5
9 Correct 64 ms 79328 KB n = 18, m = 3
10 Correct 65 ms 79232 KB n = 17, m = 2
11 Correct 66 ms 79308 KB n = 20, m = 2
12 Correct 64 ms 79328 KB n = 17, m = 4
13 Correct 64 ms 79352 KB n = 17, m = 6
14 Correct 64 ms 79296 KB n = 17, m = 1
15 Correct 63 ms 79348 KB n = 17, m = 4
16 Correct 65 ms 79332 KB n = 13, m = 3
17 Correct 66 ms 79296 KB n = 18, m = 4
18 Correct 64 ms 79312 KB n = 20, m = 10
19 Correct 67 ms 79252 KB n = 19, m = 10
20 Correct 65 ms 79244 KB n = 100, m = 5
21 Correct 74 ms 79336 KB n = 90, m = 3
22 Correct 69 ms 79280 KB n = 86, m = 2
23 Correct 64 ms 79244 KB n = 81, m = 4
24 Correct 67 ms 79300 KB n = 89, m = 10
25 Correct 62 ms 79308 KB n = 81, m = 23
26 Correct 64 ms 79284 KB n = 86, m = 8
27 Correct 66 ms 79300 KB n = 53, m = 22
28 Correct 64 ms 79348 KB n = 89, m = 35
29 Correct 65 ms 79308 KB n = 63, m = 25
30 Correct 64 ms 79312 KB n = 100, m = 50
31 Correct 65 ms 79308 KB n = 99, m = 50
# 결과 실행 시간 메모리 Grader output
1 Correct 62 ms 79352 KB n = 13, m = 1
2 Correct 63 ms 79344 KB n = 18, m = 1
3 Correct 65 ms 79340 KB n = 17, m = 1
4 Correct 68 ms 79352 KB n = 1, m = 1
5 Correct 64 ms 79308 KB n = 20, m = 1
6 Correct 67 ms 79328 KB n = 20, m = 1
7 Correct 70 ms 79272 KB n = 20, m = 1
8 Correct 65 ms 79280 KB n = 20, m = 5
9 Correct 64 ms 79328 KB n = 18, m = 3
10 Correct 65 ms 79232 KB n = 17, m = 2
11 Correct 66 ms 79308 KB n = 20, m = 2
12 Correct 64 ms 79328 KB n = 17, m = 4
13 Correct 64 ms 79352 KB n = 17, m = 6
14 Correct 64 ms 79296 KB n = 17, m = 1
15 Correct 63 ms 79348 KB n = 17, m = 4
16 Correct 65 ms 79332 KB n = 13, m = 3
17 Correct 66 ms 79296 KB n = 18, m = 4
18 Correct 64 ms 79312 KB n = 20, m = 10
19 Correct 67 ms 79252 KB n = 19, m = 10
20 Correct 65 ms 79244 KB n = 100, m = 5
21 Correct 74 ms 79336 KB n = 90, m = 3
22 Correct 69 ms 79280 KB n = 86, m = 2
23 Correct 64 ms 79244 KB n = 81, m = 4
24 Correct 67 ms 79300 KB n = 89, m = 10
25 Correct 62 ms 79308 KB n = 81, m = 23
26 Correct 64 ms 79284 KB n = 86, m = 8
27 Correct 66 ms 79300 KB n = 53, m = 22
28 Correct 64 ms 79348 KB n = 89, m = 35
29 Correct 65 ms 79308 KB n = 63, m = 25
30 Correct 64 ms 79312 KB n = 100, m = 50
31 Correct 65 ms 79308 KB n = 99, m = 50
32 Correct 64 ms 79312 KB n = 13, m = 4
33 Correct 65 ms 79328 KB n = 86, m = 2
34 Correct 66 ms 79296 KB n = 88, m = 2
35 Correct 66 ms 79284 KB n = 86, m = 2
36 Correct 67 ms 79428 KB n = 81, m = 6
37 Correct 63 ms 79252 KB n = 98, m = 7
38 Correct 65 ms 79328 KB n = 92, m = 7
39 Correct 65 ms 79308 KB n = 88, m = 21
40 Correct 65 ms 79324 KB n = 90, m = 21
41 Correct 65 ms 79348 KB n = 98, m = 22
# 결과 실행 시간 메모리 Grader output
1 Correct 62 ms 79352 KB n = 13, m = 1
2 Correct 63 ms 79344 KB n = 18, m = 1
3 Correct 65 ms 79340 KB n = 17, m = 1
4 Correct 68 ms 79352 KB n = 1, m = 1
5 Correct 64 ms 79308 KB n = 20, m = 1
6 Correct 67 ms 79328 KB n = 20, m = 1
7 Correct 70 ms 79272 KB n = 20, m = 1
8 Correct 65 ms 79280 KB n = 20, m = 5
9 Correct 64 ms 79328 KB n = 18, m = 3
10 Correct 65 ms 79232 KB n = 17, m = 2
11 Correct 66 ms 79308 KB n = 20, m = 2
12 Correct 64 ms 79328 KB n = 17, m = 4
13 Correct 64 ms 79352 KB n = 17, m = 6
14 Correct 64 ms 79296 KB n = 17, m = 1
15 Correct 63 ms 79348 KB n = 17, m = 4
16 Correct 65 ms 79332 KB n = 13, m = 3
17 Correct 66 ms 79296 KB n = 18, m = 4
18 Correct 64 ms 79312 KB n = 20, m = 10
19 Correct 67 ms 79252 KB n = 19, m = 10
20 Correct 65 ms 79244 KB n = 100, m = 5
21 Correct 74 ms 79336 KB n = 90, m = 3
22 Correct 69 ms 79280 KB n = 86, m = 2
23 Correct 64 ms 79244 KB n = 81, m = 4
24 Correct 67 ms 79300 KB n = 89, m = 10
25 Correct 62 ms 79308 KB n = 81, m = 23
26 Correct 64 ms 79284 KB n = 86, m = 8
27 Correct 66 ms 79300 KB n = 53, m = 22
28 Correct 64 ms 79348 KB n = 89, m = 35
29 Correct 65 ms 79308 KB n = 63, m = 25
30 Correct 64 ms 79312 KB n = 100, m = 50
31 Correct 65 ms 79308 KB n = 99, m = 50
32 Correct 64 ms 79312 KB n = 13, m = 4
33 Correct 65 ms 79328 KB n = 86, m = 2
34 Correct 66 ms 79296 KB n = 88, m = 2
35 Correct 66 ms 79284 KB n = 86, m = 2
36 Correct 67 ms 79428 KB n = 81, m = 6
37 Correct 63 ms 79252 KB n = 98, m = 7
38 Correct 65 ms 79328 KB n = 92, m = 7
39 Correct 65 ms 79308 KB n = 88, m = 21
40 Correct 65 ms 79324 KB n = 90, m = 21
41 Correct 65 ms 79348 KB n = 98, m = 22
42 Correct 68 ms 79372 KB n = 11, m = 2
43 Correct 65 ms 79284 KB n = 11, m = 2
44 Correct 65 ms 79308 KB n = 13, m = 3
45 Correct 65 ms 79320 KB n = 86, m = 2
46 Correct 68 ms 79248 KB n = 81, m = 2
47 Correct 64 ms 79244 KB n = 93, m = 2
48 Correct 64 ms 79280 KB n = 81, m = 2
49 Correct 69 ms 79332 KB n = 86, m = 2
50 Correct 65 ms 79308 KB n = 90, m = 2
51 Correct 65 ms 79280 KB n = 87, m = 2
52 Correct 65 ms 79256 KB n = 97, m = 2
53 Correct 66 ms 79356 KB n = 85, m = 2
54 Correct 64 ms 79256 KB n = 88, m = 7
55 Correct 64 ms 79264 KB n = 96, m = 7
56 Correct 66 ms 79436 KB n = 85, m = 7
57 Correct 67 ms 79284 KB n = 92, m = 7
58 Correct 66 ms 79236 KB n = 92, m = 7
59 Correct 64 ms 79256 KB n = 86, m = 7
60 Correct 64 ms 79324 KB n = 87, m = 7
61 Correct 65 ms 79264 KB n = 100, m = 7
62 Correct 67 ms 79336 KB n = 100, m = 7
63 Correct 68 ms 79308 KB n = 92, m = 21
64 Correct 68 ms 79280 KB n = 93, m = 22
65 Correct 71 ms 79284 KB n = 95, m = 22
66 Correct 64 ms 79336 KB n = 98, m = 22
67 Correct 64 ms 79304 KB n = 94, m = 22
68 Correct 62 ms 79348 KB n = 93, m = 22
69 Correct 65 ms 79276 KB n = 88, m = 21
70 Correct 64 ms 79292 KB n = 83, m = 20
71 Correct 65 ms 79280 KB n = 99, m = 23
72 Correct 64 ms 79348 KB n = 96, m = 19
# 결과 실행 시간 메모리 Grader output
1 Correct 62 ms 79352 KB n = 13, m = 1
2 Correct 63 ms 79344 KB n = 18, m = 1
3 Correct 65 ms 79340 KB n = 17, m = 1
4 Correct 68 ms 79352 KB n = 1, m = 1
5 Correct 64 ms 79308 KB n = 20, m = 1
6 Correct 67 ms 79328 KB n = 20, m = 1
7 Correct 70 ms 79272 KB n = 20, m = 1
8 Correct 65 ms 79280 KB n = 20, m = 5
9 Correct 64 ms 79328 KB n = 18, m = 3
10 Correct 65 ms 79232 KB n = 17, m = 2
11 Correct 66 ms 79308 KB n = 20, m = 2
12 Correct 64 ms 79328 KB n = 17, m = 4
13 Correct 64 ms 79352 KB n = 17, m = 6
14 Correct 64 ms 79296 KB n = 17, m = 1
15 Correct 63 ms 79348 KB n = 17, m = 4
16 Correct 65 ms 79332 KB n = 13, m = 3
17 Correct 66 ms 79296 KB n = 18, m = 4
18 Correct 64 ms 79312 KB n = 20, m = 10
19 Correct 67 ms 79252 KB n = 19, m = 10
20 Correct 65 ms 79244 KB n = 100, m = 5
21 Correct 74 ms 79336 KB n = 90, m = 3
22 Correct 69 ms 79280 KB n = 86, m = 2
23 Correct 64 ms 79244 KB n = 81, m = 4
24 Correct 67 ms 79300 KB n = 89, m = 10
25 Correct 62 ms 79308 KB n = 81, m = 23
26 Correct 64 ms 79284 KB n = 86, m = 8
27 Correct 66 ms 79300 KB n = 53, m = 22
28 Correct 64 ms 79348 KB n = 89, m = 35
29 Correct 65 ms 79308 KB n = 63, m = 25
30 Correct 64 ms 79312 KB n = 100, m = 50
31 Correct 65 ms 79308 KB n = 99, m = 50
32 Correct 64 ms 79312 KB n = 13, m = 4
33 Correct 65 ms 79328 KB n = 86, m = 2
34 Correct 66 ms 79296 KB n = 88, m = 2
35 Correct 66 ms 79284 KB n = 86, m = 2
36 Correct 67 ms 79428 KB n = 81, m = 6
37 Correct 63 ms 79252 KB n = 98, m = 7
38 Correct 65 ms 79328 KB n = 92, m = 7
39 Correct 65 ms 79308 KB n = 88, m = 21
40 Correct 65 ms 79324 KB n = 90, m = 21
41 Correct 65 ms 79348 KB n = 98, m = 22
42 Correct 68 ms 79372 KB n = 11, m = 2
43 Correct 65 ms 79284 KB n = 11, m = 2
44 Correct 65 ms 79308 KB n = 13, m = 3
45 Correct 65 ms 79320 KB n = 86, m = 2
46 Correct 68 ms 79248 KB n = 81, m = 2
47 Correct 64 ms 79244 KB n = 93, m = 2
48 Correct 64 ms 79280 KB n = 81, m = 2
49 Correct 69 ms 79332 KB n = 86, m = 2
50 Correct 65 ms 79308 KB n = 90, m = 2
51 Correct 65 ms 79280 KB n = 87, m = 2
52 Correct 65 ms 79256 KB n = 97, m = 2
53 Correct 66 ms 79356 KB n = 85, m = 2
54 Correct 64 ms 79256 KB n = 88, m = 7
55 Correct 64 ms 79264 KB n = 96, m = 7
56 Correct 66 ms 79436 KB n = 85, m = 7
57 Correct 67 ms 79284 KB n = 92, m = 7
58 Correct 66 ms 79236 KB n = 92, m = 7
59 Correct 64 ms 79256 KB n = 86, m = 7
60 Correct 64 ms 79324 KB n = 87, m = 7
61 Correct 65 ms 79264 KB n = 100, m = 7
62 Correct 67 ms 79336 KB n = 100, m = 7
63 Correct 68 ms 79308 KB n = 92, m = 21
64 Correct 68 ms 79280 KB n = 93, m = 22
65 Correct 71 ms 79284 KB n = 95, m = 22
66 Correct 64 ms 79336 KB n = 98, m = 22
67 Correct 64 ms 79304 KB n = 94, m = 22
68 Correct 62 ms 79348 KB n = 93, m = 22
69 Correct 65 ms 79276 KB n = 88, m = 21
70 Correct 64 ms 79292 KB n = 83, m = 20
71 Correct 65 ms 79280 KB n = 99, m = 23
72 Correct 64 ms 79348 KB n = 96, m = 19
73 Correct 66 ms 79416 KB n = 4825, m = 5
74 Correct 64 ms 79392 KB n = 4384, m = 5
75 Correct 65 ms 79568 KB n = 4528, m = 5
76 Correct 65 ms 79484 KB n = 4980, m = 5
77 Correct 65 ms 79424 KB n = 4730, m = 5
78 Correct 65 ms 79436 KB n = 4784, m = 5
79 Correct 65 ms 79404 KB n = 4875, m = 5
80 Correct 65 ms 79400 KB n = 4576, m = 5
81 Correct 65 ms 79464 KB n = 4297, m = 5
82 Correct 69 ms 79536 KB n = 4662, m = 48
83 Correct 67 ms 79412 KB n = 4753, m = 49
84 Correct 71 ms 79424 KB n = 4148, m = 46
85 Correct 69 ms 79472 KB n = 4906, m = 50
86 Correct 66 ms 79460 KB n = 4967, m = 50
87 Correct 82 ms 79404 KB n = 4828, m = 49
88 Correct 69 ms 79472 KB n = 4105, m = 45
89 Correct 67 ms 79456 KB n = 4954, m = 50
90 Correct 64 ms 79416 KB n = 4884, m = 49
91 Correct 65 ms 79412 KB n = 4307, m = 100
92 Correct 64 ms 79476 KB n = 4668, m = 100
93 Correct 65 ms 79424 KB n = 4647, m = 100
94 Correct 67 ms 79472 KB n = 4372, m = 100
95 Correct 69 ms 79476 KB n = 4791, m = 100
96 Correct 64 ms 79472 KB n = 4029, m = 100
97 Correct 67 ms 79476 KB n = 4439, m = 100
98 Correct 67 ms 79448 KB n = 4018, m = 100
99 Correct 75 ms 79448 KB n = 4979, m = 100
100 Correct 68 ms 79424 KB n = 4996, m = 89
# 결과 실행 시간 메모리 Grader output
1 Correct 62 ms 79352 KB n = 13, m = 1
2 Correct 63 ms 79344 KB n = 18, m = 1
3 Correct 65 ms 79340 KB n = 17, m = 1
4 Correct 68 ms 79352 KB n = 1, m = 1
5 Correct 64 ms 79308 KB n = 20, m = 1
6 Correct 67 ms 79328 KB n = 20, m = 1
7 Correct 70 ms 79272 KB n = 20, m = 1
8 Correct 65 ms 79280 KB n = 20, m = 5
9 Correct 64 ms 79328 KB n = 18, m = 3
10 Correct 65 ms 79232 KB n = 17, m = 2
11 Correct 66 ms 79308 KB n = 20, m = 2
12 Correct 64 ms 79328 KB n = 17, m = 4
13 Correct 64 ms 79352 KB n = 17, m = 6
14 Correct 64 ms 79296 KB n = 17, m = 1
15 Correct 63 ms 79348 KB n = 17, m = 4
16 Correct 65 ms 79332 KB n = 13, m = 3
17 Correct 66 ms 79296 KB n = 18, m = 4
18 Correct 64 ms 79312 KB n = 20, m = 10
19 Correct 67 ms 79252 KB n = 19, m = 10
20 Correct 65 ms 79244 KB n = 100, m = 5
21 Correct 74 ms 79336 KB n = 90, m = 3
22 Correct 69 ms 79280 KB n = 86, m = 2
23 Correct 64 ms 79244 KB n = 81, m = 4
24 Correct 67 ms 79300 KB n = 89, m = 10
25 Correct 62 ms 79308 KB n = 81, m = 23
26 Correct 64 ms 79284 KB n = 86, m = 8
27 Correct 66 ms 79300 KB n = 53, m = 22
28 Correct 64 ms 79348 KB n = 89, m = 35
29 Correct 65 ms 79308 KB n = 63, m = 25
30 Correct 64 ms 79312 KB n = 100, m = 50
31 Correct 65 ms 79308 KB n = 99, m = 50
32 Correct 64 ms 79312 KB n = 13, m = 4
33 Correct 65 ms 79328 KB n = 86, m = 2
34 Correct 66 ms 79296 KB n = 88, m = 2
35 Correct 66 ms 79284 KB n = 86, m = 2
36 Correct 67 ms 79428 KB n = 81, m = 6
37 Correct 63 ms 79252 KB n = 98, m = 7
38 Correct 65 ms 79328 KB n = 92, m = 7
39 Correct 65 ms 79308 KB n = 88, m = 21
40 Correct 65 ms 79324 KB n = 90, m = 21
41 Correct 65 ms 79348 KB n = 98, m = 22
42 Correct 68 ms 79372 KB n = 11, m = 2
43 Correct 65 ms 79284 KB n = 11, m = 2
44 Correct 65 ms 79308 KB n = 13, m = 3
45 Correct 65 ms 79320 KB n = 86, m = 2
46 Correct 68 ms 79248 KB n = 81, m = 2
47 Correct 64 ms 79244 KB n = 93, m = 2
48 Correct 64 ms 79280 KB n = 81, m = 2
49 Correct 69 ms 79332 KB n = 86, m = 2
50 Correct 65 ms 79308 KB n = 90, m = 2
51 Correct 65 ms 79280 KB n = 87, m = 2
52 Correct 65 ms 79256 KB n = 97, m = 2
53 Correct 66 ms 79356 KB n = 85, m = 2
54 Correct 64 ms 79256 KB n = 88, m = 7
55 Correct 64 ms 79264 KB n = 96, m = 7
56 Correct 66 ms 79436 KB n = 85, m = 7
57 Correct 67 ms 79284 KB n = 92, m = 7
58 Correct 66 ms 79236 KB n = 92, m = 7
59 Correct 64 ms 79256 KB n = 86, m = 7
60 Correct 64 ms 79324 KB n = 87, m = 7
61 Correct 65 ms 79264 KB n = 100, m = 7
62 Correct 67 ms 79336 KB n = 100, m = 7
63 Correct 68 ms 79308 KB n = 92, m = 21
64 Correct 68 ms 79280 KB n = 93, m = 22
65 Correct 71 ms 79284 KB n = 95, m = 22
66 Correct 64 ms 79336 KB n = 98, m = 22
67 Correct 64 ms 79304 KB n = 94, m = 22
68 Correct 62 ms 79348 KB n = 93, m = 22
69 Correct 65 ms 79276 KB n = 88, m = 21
70 Correct 64 ms 79292 KB n = 83, m = 20
71 Correct 65 ms 79280 KB n = 99, m = 23
72 Correct 64 ms 79348 KB n = 96, m = 19
73 Correct 66 ms 79416 KB n = 4825, m = 5
74 Correct 64 ms 79392 KB n = 4384, m = 5
75 Correct 65 ms 79568 KB n = 4528, m = 5
76 Correct 65 ms 79484 KB n = 4980, m = 5
77 Correct 65 ms 79424 KB n = 4730, m = 5
78 Correct 65 ms 79436 KB n = 4784, m = 5
79 Correct 65 ms 79404 KB n = 4875, m = 5
80 Correct 65 ms 79400 KB n = 4576, m = 5
81 Correct 65 ms 79464 KB n = 4297, m = 5
82 Correct 69 ms 79536 KB n = 4662, m = 48
83 Correct 67 ms 79412 KB n = 4753, m = 49
84 Correct 71 ms 79424 KB n = 4148, m = 46
85 Correct 69 ms 79472 KB n = 4906, m = 50
86 Correct 66 ms 79460 KB n = 4967, m = 50
87 Correct 82 ms 79404 KB n = 4828, m = 49
88 Correct 69 ms 79472 KB n = 4105, m = 45
89 Correct 67 ms 79456 KB n = 4954, m = 50
90 Correct 64 ms 79416 KB n = 4884, m = 49
91 Correct 65 ms 79412 KB n = 4307, m = 100
92 Correct 64 ms 79476 KB n = 4668, m = 100
93 Correct 65 ms 79424 KB n = 4647, m = 100
94 Correct 67 ms 79472 KB n = 4372, m = 100
95 Correct 69 ms 79476 KB n = 4791, m = 100
96 Correct 64 ms 79472 KB n = 4029, m = 100
97 Correct 67 ms 79476 KB n = 4439, m = 100
98 Correct 67 ms 79448 KB n = 4018, m = 100
99 Correct 75 ms 79448 KB n = 4979, m = 100
100 Correct 68 ms 79424 KB n = 4996, m = 89
101 Correct 94 ms 84588 KB n = 178952, m = 10
102 Correct 109 ms 84672 KB n = 180674, m = 10
103 Correct 99 ms 84300 KB n = 167639, m = 10
104 Correct 99 ms 84416 KB n = 172892, m = 10
105 Correct 94 ms 84304 KB n = 168125, m = 10
106 Correct 94 ms 84300 KB n = 166514, m = 10
107 Correct 100 ms 84784 KB n = 183874, m = 10
108 Correct 103 ms 85076 KB n = 194560, m = 10
109 Correct 96 ms 84376 KB n = 171994, m = 10
110 Correct 223 ms 84228 KB n = 165207, m = 100
111 Correct 269 ms 84868 KB n = 188459, m = 100
112 Correct 215 ms 84124 KB n = 162137, m = 100
113 Correct 231 ms 84356 KB n = 169691, m = 100
114 Correct 244 ms 84860 KB n = 187642, m = 100
115 Correct 236 ms 84340 KB n = 168456, m = 100
116 Correct 236 ms 84684 KB n = 180980, m = 100
117 Correct 257 ms 84968 KB n = 191687, m = 100
118 Correct 224 ms 84292 KB n = 166437, m = 100
119 Correct 242 ms 84828 KB n = 186520, m = 100
120 Correct 224 ms 84264 KB n = 166675, m = 100
121 Correct 249 ms 84844 KB n = 187725, m = 100
122 Correct 215 ms 84116 KB n = 161455, m = 100
123 Correct 254 ms 85064 KB n = 192977, m = 100
124 Correct 275 ms 85064 KB n = 192612, m = 100
125 Correct 258 ms 85064 KB n = 196512, m = 100
126 Correct 258 ms 85144 KB n = 198968, m = 100
127 Correct 221 ms 84300 KB n = 166659, m = 100
128 Correct 120 ms 85212 KB n = 199997, m = 34
129 Correct 85 ms 85208 KB n = 200000, m = 1
130 Correct 88 ms 85188 KB n = 200000, m = 1
131 Correct 217 ms 85204 KB n = 199999, m = 100
132 Correct 194 ms 85188 KB n = 199999, m = 100
133 Correct 94 ms 85196 KB n = 200000, m = 1