QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#243846#6400. Game: Celesteucup-team1198#TL 1454ms647248kbC++205.6kb2023-11-08 18:13:412023-11-08 18:13:42

Judging History

你现在查看的是最新测评结果

  • [2023-11-08 18:13:42]
  • 评测
  • 测评结果:TL
  • 用时:1454ms
  • 内存:647248kb
  • [2023-11-08 18:13:41]
  • 提交

answer

#include <bits/stdc++.h>

using namespace std;
#define ll long long
#define pii pair<int, int>
#define ld long double
#define all(a) (a).begin(), (a).end()

const int N1 = 40000003;
const int N2 = 41289407;
const int N3 = 43220311;

ll key[N1];
int val[N2];

ll get(ll lvl, ll l, ll r) {
    return ((lvl + 1) * N2 + (l + 7)) * N3 + r;
}

int pos(ll u) {
    int i = u % N1;

    while (key[i] != 0 && key[i] != u) i = (i + 1) % N1;
    return i;
}

// bool in(ll lvl, ll l, ll r) {
//     ll u = get(lvl, l, r);
//     return key[pos(u)] == u;
// }

// int& at(ll lvl, ll l, ll r) {
//     ll u = get(lvl, l, r);
//     int p = pos(u);
//     key[p] = u;
//     return val[p];
// }

// int& at(ll u) {
//     ll u = get(lvl, l, r);
//     int p = pos(u);
//     key[p] = u;
//     return val[p];
// }

// int find_(ll u) {

// }

// 40000003
// 41289407
// 43220311

// bool p(ll i) {
//     for (ll j = 2; j * j <= i; ++j) if (i % j == 0) return 0;
//     return 1;
// }

const int K = 20;
const int MAXN = 1 << K;
map<pair<int, int>, int> nodes_by_children[K + 1];
vector<pair<int, int>> nodes[K + 1];

bool cmp(int rk, int tree1, int tree2) {
    if (tree1 == tree2)
        return false;
    if (rk == 0)
        return tree1 < tree2;
    if (nodes[rk][tree1].second != nodes[rk][tree2].second) {
        return cmp(rk - 1, nodes[rk][tree1].second, nodes[rk][tree2].second);
    }
    return cmp(rk - 1, nodes[rk][tree1].first, nodes[rk][tree2].first);
}

int add_one(int tree, int rk, int left, int right, int i) {
    if (left + 1 == right) {
        return tree + 1;
    }
    int l1 = nodes[rk][tree].first;
    int r1 = nodes[rk][tree].second;
    int mid = (left + right) / 2;
    if (i < mid)
        l1 = add_one(l1, rk - 1, left, mid, i);
    else
        r1 = add_one(r1, rk - 1, mid, right, i);

    ll u = get(rk, l1, r1);

    int j = pos(u);

    if (key[j] == u)
        return val[j];
    nodes[rk].emplace_back(l1, r1);

    key[j] = u;
    val[j] = nodes[rk].size() - 1;
    return nodes[rk].size() - 1;
}

void restore_ans(int tree, int rk, int left, int right, vector<int>& ans) {
    if (left + 1 == right) {
        for (int j = 0; j < tree; ++j)
            ans.emplace_back(left);
        return;
    }
    int mid = (left + right) / 2;
    restore_ans(nodes[rk][tree].second, rk - 1, mid, right, ans);
    restore_ans(nodes[rk][tree].first, rk - 1, left, mid, ans);
}

signed main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    // int at = 4e7;

    // while (at < 5e7) {
    //     if (p(at)) {
    //         cerr << at << '\n';
    //         at += rand() % (1000000) + 1000000;
    //     } else {
    //         at += 1;
    //     }

    // }

    // return 0;


    int t;
    cin >> t;
    for (int i = 1; i <= K; ++i) {
        nodes[i].emplace_back(0, 0);
        // at(i, 0, 0) = 0;

        ll u = get(i, 0, 0);

        int j = pos(u);

        // if (key[i] == u)
        //     return val[i];
        // nodes[rk].emplace_back(l1, r1);
        key[j] = u;
        val[j] = 0;

    }
    while (t--) {
        int n, L, R;
        cin >> n >> L >> R;
        vector<int> x(n);
        for (int i = 0; i < n; ++i)
            cin >> x[i];
        vector<int> a(n);
        for (int i = 0; i < n; ++i)
            cin >> a[i];
        int cur_rk = 0;
        while ((1 << cur_rk) <= n)
            ++cur_rk;
        vector<int> dp(n, -1);
        dp[0] = add_one(0, cur_rk, 0, 1 << cur_rk, a[0]);

        vector<int> stack1;
        vector<int> mx1;
        vector<int> stack2;
        vector<int> mx2;
        
        auto queue_push = [&](int x) {
            stack2.emplace_back(x);
            if (mx2.empty() || cmp(cur_rk, mx2.back(), x))
                mx2.emplace_back(x);
            else
                mx2.emplace_back(mx2.back());
        };
        auto queue_pop = [&]() {
            if (stack1.empty()) {
                while (!stack2.empty()) {
                    int x = stack2.back();

                    stack1.emplace_back(x);
                    if (mx1.empty() || cmp(cur_rk, mx1.back(), x))
                        mx1.emplace_back(x);
                    else
                        mx1.emplace_back(mx1.back());

                    stack2.pop_back();
                    mx2.pop_back();
                }
            }
            stack1.pop_back();
            mx1.pop_back();
        };

        int l1 = 0, r1 = 0;
        for (int i = 1; i < n; ++i) {
            while (r1 < i && x[r1] <= x[i] - L) {
                if (dp[r1] != -1)
                    queue_push(dp[r1]);
                ++r1;
            }
            while (l1 < i && x[l1] < x[i] - R) {
                if (dp[l1] != -1)
                    queue_pop();
                ++l1;
            }
            if (stack1.empty() && stack2.empty()) {
                dp[i] = -1;
            } else {
                int opt = -1;
                if (stack2.empty())
                    opt = mx1.back();
                else if (stack1.empty())
                    opt = mx2.back();
                else if (cmp(cur_rk, mx1.back(), mx2.back()))
                    opt = mx2.back();
                else
                    opt = mx1.back();
                dp[i] = add_one(opt, cur_rk, 0, 1 << cur_rk, a[i]);
            }
        }
        if (dp[n - 1] == -1)
            cout << -1 << '\n';
        else {
            vector<int> ans;
            restore_ans(dp[n - 1], cur_rk, 0, 1 << cur_rk, ans);
            cout << ans.size() << '\n';
            for (int x : ans)
                cout << x << ' ';
            cout << '\n';
        }
    }

    //cerr << clock() * 1.0 / CLOCKS_PER_SEC << '\n';

    return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 50728kb

input:

2
5 2 3
1 2 3 4 5
5 2 3 1 4
3 1 2
1 4 7
3 3 3

output:

3
5 4 3 
-1

result:

ok 3 lines

Test #2:

score: 0
Accepted
time: 456ms
memory: 493292kb

input:

10000
57 8 11
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
11 16 7 7 10 13 9 14 10 1 12 4 8 13 3 20 16 7 16 19 20 8 19 7 16 6 17 13 7 19 17 11 12 17 6 3 7 8 14 2 4 15 5 18 16 7 20 9 1...

output:

7
20 20 19 14 12 11 3 
-1
6
6 5 3 2 1 1 
-1
185
20 20 20 20 20 20 20 20 19 19 19 19 19 19 19 19 19 19 19 19 18 18 18 18 18 17 17 17 17 17 17 17 17 16 16 16 16 16 16 16 16 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 14 14 14 14 14 14 14 13 13 13 13 13 13 13 13 13 12 12 12 12 12 12 12 ...

result:

ok 16378 lines

Test #3:

score: 0
Accepted
time: 182ms
memory: 472676kb

input:

10000
86 230405 991217
3291 11742 17120 30018 47955 52215 96227 98031 100118 106944 117304 121905 124796 135037 164100 164654 169459 177527 206513 212554 228740 229590 261521 295062 300116 312030 326533 329513 349983 353580 355242 356731 363347 368753 389545 396163 399755 409927 426532 427781 441386...

output:

4
20 19 2 1 
4
19 12 6 3 
-1
-1
24
20 19 18 18 18 18 18 18 18 18 16 16 16 16 15 15 13 12 11 9 5 4 2 2 
-1
2
4 3 
3
6 4 2 
4
13 12 5 5 
3
20 17 5 
3
20 8 3 
-1
-1
1
1 
-1
5
20 20 19 15 14 
2
13 12 
-1
-1
4
20 20 8 5 
-1
-1
-1
6
20 16 16 16 13 9 
-1
-1
-1
3
19 17 11 
3
19 15 9 
-1
-1
-1
-1
-1
-1
2
7 3...

result:

ok 14975 lines

Test #4:

score: 0
Accepted
time: 421ms
memory: 495880kb

input:

10000
101 17 17
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98...

output:

-1
15
10 10 10 10 10 10 9 9 9 9 7 7 6 6 3 
-1
44
10 10 10 10 10 10 10 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 7 6 6 6 6 6 6 6 5 4 3 3 3 3 
11
10 10 10 10 10 9 8 7 6 6 2 
6
10 10 10 10 8 3 
18
10 10 10 10 10 10 8 8 8 8 7 7 7 6 5 3 2 2 
-1
-1
1
1 
-1
-1
-1
20
10 10 10 10 10 10 10 10 10 9 8 8...

result:

ok 16344 lines

Test #5:

score: 0
Accepted
time: 249ms
memory: 343660kb

input:

10000
18 16 16
1 2 3 4 5 6 7 8 10 11 12 13 14 16 17 18 19 20
2 2 2 1 2 1 1 2 2 2 2 1 2 2 1 2 1 1
403 3 7
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 ...

output:

-1
126
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 
-1
-1
-1
1
1 
-1
-1
10
2 2 2 2 2 2 1 1 1...

result:

ok 16420 lines

Test #6:

score: 0
Accepted
time: 287ms
memory: 444424kb

input:

10000
251 1 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 9...

output:

251
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

result:

ok 16925 lines

Test #7:

score: 0
Accepted
time: 338ms
memory: 477816kb

input:

100
23882 222 481
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 ...

output:

102
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 19...

result:

ok 167 lines

Test #8:

score: 0
Accepted
time: 155ms
memory: 354792kb

input:

100
3789 29850 70419
774 1032 1649 1723 2194 3021 3114 3308 3344 3360 3688 3781 3967 4245 4878 4966 5099 5597 5617 5638 5645 5784 5871 6136 6158 6358 6483 6600 6766 6775 6800 6895 7119 7439 7485 7696 7734 8432 8493 8581 8627 9203 9576 9885 10062 10290 10454 10466 10537 10717 10861 11048 11484 11497 ...

output:

30
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 19 18 3 
-1
-1
-1
4
20 20 18 10 
-1
6
20 20 20 20 15 9 
-1
-1
5
20 20 20 18 4 
4
20 20 13 7 
-1
4
20 20 19 18 
-1
-1
-1
-1
2
16 8 
-1
3
20 20 6 
8
20 20 20 20 20 20 15 12 
-1
-1
-1
17
20 20 20 20 20 20 20 20 20 20 20...

result:

ok 139 lines

Test #9:

score: 0
Accepted
time: 287ms
memory: 479428kb

input:

100
181 1947 1967
17 23 47 53 55 68 84 92 110 147 153 164 191 198 207 209 215 221 255 269 275 302 305 322 324 363 370 373 385 405 407 429 451 458 466 472 478 500 508 544 557 561 564 565 569 587 600 610 617 630 645 659 665 670 674 715 726 744 747 764 769 770 774 782 786 787 794 795 824 852 860 873 87...

output:

-1
-1
-1
12
10 10 10 10 10 10 10 10 10 10 9 4 
12
10 10 10 10 10 10 10 10 10 10 5 5 
13
10 10 10 10 10 10 10 10 10 10 10 5 4 
-1
22
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 5 2 
215
10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 ...

result:

ok 166 lines

Test #10:

score: 0
Accepted
time: 296ms
memory: 409664kb

input:

100
5589 851 904
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 9...

output:

-1
267
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3...

result:

ok 184 lines

Test #11:

score: 0
Accepted
time: 112ms
memory: 240508kb

input:

100
6944 1905 1926
2 3 4 6 7 8 9 10 11 13 15 16 17 18 20 22 23 24 25 29 31 32 33 34 35 39 40 42 43 44 45 46 47 49 51 54 55 57 58 60 61 62 63 64 67 68 69 71 72 74 75 76 78 79 80 81 82 83 84 85 86 90 91 92 94 95 96 98 100 104 105 106 107 108 109 111 112 117 118 119 120 123 125 126 127 128 131 133 134 ...

output:

-1
-1
296
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ...

result:

ok 118 lines

Test #12:

score: 0
Accepted
time: 440ms
memory: 464120kb

input:

10
93999 762 838
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 9...

output:

124
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1 1 
2332
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 ...

result:

ok 20 lines

Test #13:

score: 0
Accepted
time: 214ms
memory: 229708kb

input:

10
10628 1687 1731
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97...

output:

-1
-1
76
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 
-1
-1
219
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ...

result:

ok 13 lines

Test #14:

score: 0
Accepted
time: 121ms
memory: 268768kb

input:

3
187063 95635158 95636093
11 507 618 934 1132 2191 3177 3365 3571 3605 4833 4988 5100 6157 6542 7005 7008 7258 7353 7366 7507 9327 10129 10131 10240 11168 11397 12964 13519 14429 14748 15782 16126 16244 16491 17464 17693 18411 19312 19807 19967 20183 21049 21170 21526 21813 22278 22946 23297 23600 ...

output:

-1
-1
-1

result:

ok 3 lines

Test #15:

score: 0
Accepted
time: 196ms
memory: 174204kb

input:

3
109970 343649 521308
4 6 25 27 32 45 53 56 76 81 100 111 115 133 143 145 163 169 173 174 194 199 243 261 299 300 303 311 332 335 341 357 367 368 374 387 392 412 415 422 435 437 442 443 444 454 458 462 466 478 482 486 490 497 499 505 512 521 528 544 549 558 560 574 587 597 620 622 625 643 651 652 6...

output:

3
2 2 1 
-1
8
2 2 2 2 2 2 1 1 

result:

ok 5 lines

Test #16:

score: 0
Accepted
time: 371ms
memory: 466504kb

input:

3
541782 286 289
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 9...

output:

1895
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1...

result:

ok 5 lines

Test #17:

score: 0
Accepted
time: 1330ms
memory: 584144kb

input:

2
590573 45 48
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 ...

output:

12722
100000 100000 100000 100000 100000 100000 100000 99999 99999 99999 99999 99999 99999 99998 99998 99998 99998 99998 99998 99998 99998 99998 99998 99998 99998 99998 99998 99997 99997 99997 99997 99997 99996 99996 99996 99995 99995 99994 99994 99994 99994 99994 99994 99994 99993 99993 99993 99993...

result:

ok 4 lines

Test #18:

score: 0
Accepted
time: 1193ms
memory: 590572kb

input:

2
658290 51 71
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 ...

output:

11109
100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 10...

result:

ok 4 lines

Test #19:

score: 0
Accepted
time: 1067ms
memory: 507740kb

input:

1
1000000 324190 960223
187 199 240 453 559 628 670 753 755 1329 1330 1681 1904 2042 2061 2169 2183 2233 2258 2535 2555 2711 2718 2819 2951 3211 3294 3309 3342 3456 3485 3491 3782 3834 3854 3968 4205 4236 4312 4314 4340 4371 4596 4603 4734 4792 5133 5249 5273 5469 5895 5915 5977 6006 6029 6062 6089 ...

output:

231
1000000 1000000 999999 999999 999999 999999 999999 999997 999997 999992 999992 999992 999992 999991 999989 999987 999987 999985 999985 999983 999982 999981 999981 999978 999976 999975 999975 999973 999970 999969 999969 999969 999968 999968 999965 999963 999962 999960 999960 999959 999957 999952 ...

result:

ok 2 lines

Test #20:

score: 0
Accepted
time: 75ms
memory: 164860kb

input:

1
1000000 87283396 87283923
47 91 155 190 566 594 1076 1200 1393 1419 1433 1460 1928 1971 1980 1984 2044 2240 2269 2289 2524 2630 2644 2655 2718 2724 2937 3196 3321 3352 3354 3387 3430 3480 3553 3589 3837 3853 3868 4307 4374 4404 4486 4512 4521 4715 4776 4810 4962 5060 5067 5081 5153 5313 5330 5409 ...

output:

-1

result:

ok single line: '-1'

Test #21:

score: 0
Accepted
time: 88ms
memory: 177312kb

input:

1
1000000 72210945 72247561
83 183 329 485 537 555 722 867 874 1021 1092 1350 1362 1410 1544 1740 1812 1823 1846 1870 2188 2194 2304 2335 2383 2539 2709 2745 2807 3094 3151 3231 3238 3253 3390 3573 3579 3596 3672 3700 3721 3750 3811 4125 4178 4191 4202 4330 4339 4601 4631 4641 4684 4834 4997 5037 52...

output:

-1

result:

ok single line: '-1'

Test #22:

score: 0
Accepted
time: 1454ms
memory: 600420kb

input:

1
1000000 7 9
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 9...

output:

127372
1000000 999999 999999 999997 999997 999996 999996 999995 999992 999991 999989 999989 999988 999988 999987 999985 999985 999985 999984 999982 999981 999981 999977 999977 999974 999974 999974 999974 999974 999972 999972 999972 999972 999971 999971 999971 999970 999969 999967 999966 999963 99996...

result:

ok 2 lines

Test #23:

score: 0
Accepted
time: 1420ms
memory: 640084kb

input:

1
1000000 1 4
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 9...

output:

1000000
10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 10000 1000...

result:

ok 2 lines

Test #24:

score: 0
Accepted
time: 1312ms
memory: 647248kb

input:

1
1000000 1 1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 9...

output:

1000000
100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 100 ...

result:

ok 2 lines

Test #25:

score: 0
Accepted
time: 155ms
memory: 259456kb

input:

100000
13 9192 9313
242 601 1041 2455 3952 5255 6287 6432 6788 7101 7444 8442 9180
13 13 13 13 13 13 13 13 13 13 13 13 13
13 9740 9943
159 1009 2672 2928 3588 4323 5302 6037 6059 6383 6864 8722 9587
13 13 13 13 13 13 13 13 13 13 13 13 13
1 8092 9788
6964
1
6 573 6265
2326 5315 6299 6374 6600 7104
6 ...

output:

-1
-1
1
1 
4
6 6 6 6 
-1
-1
2
14 14 
2
4 4 
1
1 
2
13 13 
2
5 5 
-1
7
8 8 8 7 6 6 5 
2
43 43 
-1
-1
-1
2
5 5 
-1
-1
-1
2
2 2 
1
1 
2
9 9 
3
12 12 11 
6
44 44 44 44 44 41 
-1
1
1 
-1
-1
-1
-1
-1
2
7 7 
-1
-1
4
15 15 15 15 
7
9 9 9 8 8 8 6 
1
1 
2
4 4 
-1
4
12 12 12 9 
4
5 5 5 5 
4
9 9 9 9 
-1
-1
-1
3...

result:

ok 149287 lines

Test #26:

score: 0
Accepted
time: 199ms
memory: 462308kb

input:

1000
358 1293 2838
3 54 136 140 151 202 218 262 279 306 345 349 355 361 368 375 414 428 446 488 491 535 543 556 626 655 694 701 744 753 797 820 857 874 952 968 990 1073 1079 1099 1116 1117 1160 1161 1205 1211 1249 1266 1278 1293 1315 1351 1393 1470 1473 1478 1489 1504 1540 1543 1554 1560 1645 1668 1...

output:

7
358 358 357 314 313 308 304 
4
132 132 130 107 
6
39 39 35 31 25 14 
5
388 388 387 286 196 
3
115 115 112 
-1
-1
3
1045 1045 1044 
-1
4
244 244 243 175 
-1
-1
-1
5
564 564 563 444 323 
4
84 84 82 78 
18
18 18 17 17 16 16 16 16 15 15 15 15 15 14 14 14 14 13 
-1
2
332 332 
-1
-1
6
1441 1441 1439 117...

result:

ok 1498 lines

Test #27:

score: 0
Accepted
time: 568ms
memory: 417716kb

input:

10
175986 5404 8551
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 9...

output:

33
175986 175986 175986 172841 172841 172841 172841 172841 172841 172841 172841 172841 172841 172841 172841 172841 172841 172841 172841 172841 172841 172841 172841 172841 172841 172841 172841 172841 172841 172841 172841 172841 172841 
154
35190 35190 35190 34962 34734 34506 34277 34050 33820 33594 3...

result:

ok 17 lines

Test #28:

score: -100
Time Limit Exceeded

input:

3
204792 277 290
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 9...

output:


result: