QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#577889#7118. Closing Timedevxxed#29 21ms4168kbC++207.3kb2024-09-20 15:17:012024-09-20 15:17:02

Judging History

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

  • [2024-09-20 15:17:02]
  • 评测
  • 测评结果:29
  • 用时:21ms
  • 内存:4168kb
  • [2024-09-20 15:17:01]
  • 提交

answer

#include "closing.h"

#include <bits/stdc++.h>
using namespace std;

using ll  = long long;
using pll = pair<ll, ll>;

#define fi first
#define se second

#define All(x) x.begin(), x.end()

constexpr ll INF = 1'000'000'000'000'000'000;

template<typename Z> bool chmin(Z &a, Z b) { return ((a > b) ? (a = b, true) : false); }
template<typename Z> bool chmax(Z &a, Z b) { return ((a < b) ? (a = b, true) : false); }

#define debug(x) cout << #x << " = " << (x) << "\n"

template<typename Z>
ostream& operator<<(ostream& os, const vector<Z> &v) {
    os << "["; bool _first = true;
    for (auto i : v) { if (!_first) { os << ", "; } os << i; _first = false; }
    return os << "]";
}

struct Tree {
    int n;
    vector<vector<int>> adj;
    vector<int> u, v;
    vector<ll> w;

    vector<int> par_edge;
    int timer;
    vector<int> tin, tout;

    vector<bool> special_path;

    Tree(int n, vector<int> _u, vector<int> _v, vector<int> _w) :
        n(n), adj(n), u(_u), v(_v), w(n-1),
        par_edge(n), timer(0), tin(n), tout(n),
        special_path(n-1)
    {
        for (int i = 0; i < n-1; i++) {
            adj[u[i]].push_back(i);
            adj[v[i]].push_back(i);
            w[i] = _w[i];
        }

        dfsInit(0);
    }

    void dfsInit(int cur, int prv = -1) {
        par_edge[cur] = prv;
        tin[cur] = ++timer;
        for (auto e : adj[cur]) if (e != prv) {
            int nxt = getDest(cur, e);
            dfsInit(nxt, e);
        }
        tout[cur] = timer;
    }

    int getDest(int x, int e) { return ((x == u[e]) ? v[e] : u[e]); }

    bool isAncestor(int anc, int des) {
        return tin[anc] <= tin[des] && tout[des] <= tout[anc];
    }

    pair<vector<int>, vector<ll>> getPath(int x, int y) {
        int lca = x;
        while (!isAncestor(lca, y)) lca = getDest(lca, par_edge[lca]);

        vector<int> nodes_x, nodes_y;
        vector<ll> dist_x, dist_y;
        while (x != lca) {
            special_path[par_edge[x]] = true;
            nodes_x.push_back(x);
            dist_x.push_back(w[par_edge[x]]);
            x = getDest(x, par_edge[x]);
        }
        while (y != lca) {
            special_path[par_edge[y]] = true;
            nodes_y.push_back(y);
            dist_y.push_back(w[par_edge[y]]);
            y = getDest(y, par_edge[y]);
        }

        nodes_x.push_back(lca);
        while (!nodes_y.empty()) { nodes_x.push_back(nodes_y.back()); nodes_y.pop_back(); }

        while (!dist_y.empty()) { dist_x.push_back(dist_y.back()); dist_y.pop_back(); }

        return {nodes_x, dist_x};
    }

    void dfsDistance(int x, int prv, ll root_dist, vector<ll> &dist) {
        if (root_dist > 0) dist.push_back(root_dist);
        for (auto e : adj[x]) {
            if (e == prv || special_path[e]) continue;
            dfsDistance(getDest(x, e), e, root_dist + w[e], dist);
        }
    }

    vector<ll> getDistances(int x) {
        vector<ll> ret;
        dfsDistance(x, -1, 0, ret);
        return ret;
    }
};

vector<vector<ll>> insideTimes(vector<ll> dist, vector<ll> &dx, vector<ll> &dy) {
    int n = dist.size() + 1;

    dx = dy = vector<ll>(n);
    dx[0] = dy[n-1] = 0;
    for (int i = 1; i < n; i++) dx[i] = dx[i-1] + dist[i-1];
    for (int i = n-2; i >= 0; i--) dy[i] = dy[i+1] + dist[i];

    // debug(dx); debug(dy);

    vector ret(n+1, vector(n+1, INF));
    for (int l = 0; l <= n; l++) {
        vector<ll> node_costs(n, 0);
        ll sum = 0;
        for (int i = 0; i < l; i++) { node_costs[i] = dx[i]; sum += dx[i]; }

        for (int r = 0; r <= n; r++) {
            if (r > 0) {
                int i = n-r;
                sum -= node_costs[i];
                chmax(node_costs[i], dy[i]);
                sum += node_costs[i];
            }

            ret[l][r] = sum;
        }
    }
    return ret;
}

vector<ll> minPlusConvolution(vector<ll> a, vector<ll> b) {
    int n = a.size(), m = b.size();
    vector<ll> ret(n + m - 1, INF);
    for (int i = 0; i < n; i++) {
        for (int j = 0; j < m; j++) {
            chmin(ret[i + j], a[i] + b[j]);
        }
    }
    return ret;
}

vector<ll> dncConvolution(int l, int r, vector<vector<ll>> &v) {
    if (l == r) return v[l];
    int m = (l + r) / 2;
    return minPlusConvolution(dncConvolution(l, m, v), dncConvolution(m+1, r, v));
}

int max_score(int N, int X, int Y, ll K, vector<int> U, vector<int> V, vector<int> W) {
    Tree T(N, U, V, W);

    // generate minimum time for all possible scores of inside case
    auto [inside_nodes, inside_dist] = T.getPath(X, Y);
    vector<ll> dist_x, dist_y;
    auto inside_times = insideTimes(inside_dist, dist_x, dist_y);

    // debug(inside_nodes); debug(inside_dist);
    // debug(dist_x); debug(dist_y);

    int p_len = inside_nodes.size();
    int ans = 2;

    vector<vector<ll>> distances;
    for (int i = 0; i < p_len; i++) distances.push_back(T.getDistances(inside_nodes[i]));

    for (int l = 0; l <= p_len; l++) {
        for (int r = 0; r <= p_len; r++) {
            vector<ll> dp(2*N + 1, INF);
            dp[0] = 0;

            for (int i = 0; i < p_len; i++) {
                bool in_l = (i < l);
                bool in_r = (i >= p_len-r);

                if (in_l && in_r) {
                    ll c[2] = {dist_x[i], dist_y[i]};
                    if (c[0] > c[1]) swap(c[0], c[1]);
                    for (auto d : distances[i]) {
                        for (int j = 2*N; j >= 2; j--) {
                            chmin(dp[j], min(dp[j-1] + d + c[0], dp[j-2] + d + c[1]));
                        }
                        chmin(dp[1], dp[0] + d + c[0]);
                    }

                } else if (in_l) {
                    for (auto d : distances[i]) {
                        for (int j = 2*N; j >= 1; j--) {
                            chmin(dp[j], dp[j-1] + d + dist_x[i]);
                        }
                    }

                } else {
                    for (auto d : distances[i]) {
                        for (int j = 2*N; j >= 1; j--) {
                            chmin(dp[j], dp[j-1] + d + dist_y[i]);
                        }
                    }
                }
            }

            for (int i = 0; i <= 2*N; i++) {
                if (dp[i] + inside_times[l][r] <= K) chmax(ans, i + l + r);
                else break;
            }
        }
    }

    return ans;
}

#ifdef Zanite

int main()
{

    int Q;
    assert(1 == scanf("%d", &Q));

    std::vector<int> N(Q), X(Q), Y(Q);
    std::vector<long long> K(Q);
    std::vector<std::vector<int>> U(Q), V(Q), W(Q);

    for (int q = 0; q < Q; q++)
    {
        assert(4 == scanf("%d %d %d %lld", &N[q], &X[q], &Y[q], &K[q]));

        U[q].resize(N[q] - 1);
        V[q].resize(N[q] - 1);
        W[q].resize(N[q] - 1);
        for (int i = 0; i < N[q] - 1; ++i)
        {
            assert(3 == scanf("%d %d %d", &U[q][i], &V[q][i], &W[q][i]));
        }
    }
    fclose(stdin);

    std::vector<int> result(Q);
    for (int q = 0; q < Q; q++)
    {
        result[q] = max_score(N[q], X[q], Y[q], K[q], U[q], V[q], W[q]);
    }

    for (int q = 0; q < Q; q++)
    {
        printf("%d\n", result[q]);
    }
    fclose(stdout);

    return 0;
}

#endif

Details

Tip: Click on the bar to expand more detailed information

Subtask #1:

score: 0
Time Limit Exceeded

Test #1:

score: 0
Time Limit Exceeded

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
200000 31011 61157 8517583098
31011 129396 964383
1655 129396 331139
1655 191487 566483
110385 191487 865248
43212 110385 542661
43212 81682 13766
81682 91774 546589
91774 124706 780638
124706 175650 118706
10421 175650 615314
10421 151953 436270
140430 151...

output:


result:


Subtask #2:

score: 9
Accepted

Test #4:

score: 9
Accepted
time: 1ms
memory: 4044kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
50 23 25 382806473
0 1 375710
1 2 898637
2 3 10402
3 4 536577
4 5 385023
5 6 71075
6 7 543368
7 8 301497
8 9 174394
9 10 711312
10 11 923006
11 12 675532
12 13 838667
13 14 565729
14 15 979816
15 16 862618
16 17 576015
17 18 177751
18 19 306989
19 20 881492...

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
96

result:

ok 

Test #5:

score: 9
Accepted
time: 1ms
memory: 3876kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
47 20 22 25669694
0 1 291237
1 2 851987
2 3 421247
3 4 962919
4 5 643085
5 6 224951
6 7 756890
7 8 147295
8 9 625823
9 10 736374
10 11 290526
11 12 335466
12 13 539086
13 14 957449
14 15 423408
15 16 932444
16 17 356032
17 18 307118
18 19 94279
19 20 989546...

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
26

result:

ok 

Test #6:

score: 9
Accepted
time: 2ms
memory: 3804kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
46 6 34 355277954
0 1 574359
1 2 58362
2 3 778155
3 4 538832
4 5 128903
5 6 79774
6 7 715282
7 8 259924
8 9 640303
9 10 361135
10 11 506866
11 12 527045
12 13 946672
13 14 620381
14 15 701743
15 16 766266
16 17 524732
17 18 340089
18 19 630172
19 20 357712
...

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
74

result:

ok 

Test #7:

score: 9
Accepted
time: 0ms
memory: 4056kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
45 14 44 70669
0 1 266130
1 2 372315
2 3 965349
3 4 119493
4 5 190522
5 6 506822
6 7 45330
7 8 423189
8 9 748532
9 10 653554
10 11 102552
11 12 90431
12 13 843259
13 14 422626
14 15 35334
15 16 1
16 17 1
17 18 1
18 19 1
19 20 1
20 21 1
21 22 1
22 23 1
23 24...

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
4

result:

ok 

Test #8:

score: 9
Accepted
time: 1ms
memory: 3824kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
50 0 49 332340134
0 1 987193
1 2 950856
2 3 893737
3 4 870689
4 5 810192
5 6 790242
6 7 744052
7 8 714922
8 9 677074
9 10 630082
10 11 599644
11 12 528415
12 13 491648
13 14 479486
14 15 439182
15 16 371085
16 17 357776
17 18 308161
18 19 254481
19 20 20430...

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
44

result:

ok 

Test #9:

score: 9
Accepted
time: 1ms
memory: 3768kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
50 0 49 329827838
0 1 972981
1 2 953594
2 3 908629
3 4 849675
4 5 808354
5 6 782643
6 7 759387
7 8 698618
8 9 650896
9 10 639153
10 11 591828
11 12 532588
12 13 503214
13 14 447660
14 15 403224
15 16 380834
16 17 327127
17 18 300115
18 19 244025
19 20 23362...

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
44

result:

ok 

Test #10:

score: 9
Accepted
time: 1ms
memory: 3792kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
3 0 1 1
0 1 1
1 2 1

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
3

result:

ok 

Test #11:

score: 9
Accepted
time: 1ms
memory: 4076kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
20 8 9 31897732
0 1 428932
1 2 103619
2 3 805647
3 4 691922
4 5 320369
5 6 755877
6 7 701672
7 8 426711
8 9 507102
9 10 492732
10 11 68466
11 12 317311
12 13 37666
13 14 499673
14 15 502226
15 16 753200
16 17 523387
17 18 904778
18 19 695859

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
30

result:

ok 

Test #12:

score: 9
Accepted
time: 0ms
memory: 4084kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
20 15 16 25160185
0 1 193268
1 2 139314
2 3 193167
3 4 446469
4 5 793626
5 6 502774
6 7 598587
7 8 69975
8 9 499282
9 10 943594
10 11 804459
11 12 536095
12 13 578060
13 14 142523
14 15 364845
15 16 181397
16 17 64327
17 18 224827
18 19 439557

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
26

result:

ok 

Test #13:

score: 9
Accepted
time: 0ms
memory: 3824kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
20 0 19 77846543
0 1 603320
1 2 433257
2 3 572719
3 4 340716
4 5 549198
5 6 383420
6 7 50703
7 8 720210
8 9 304217
9 10 162280
10 11 68594
11 12 401595
12 13 446738
13 14 920882
14 15 494739
15 16 616729
16 17 874820
17 18 269830
18 19 53532

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
34

result:

ok 

Test #14:

score: 9
Accepted
time: 1ms
memory: 3792kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
19 2 17 6692
0 1 748749
1 2 369010
2 3 3351
3 4 1
4 5 1
5 6 1
6 7 1
7 8 1
8 9 1
9 10 1
10 11 1
11 12 1
12 13 1
13 14 1
14 15 1
15 16 1
16 17 3346
17 18 11355

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
3

result:

ok 

Subtask #3:

score: 0
Time Limit Exceeded

Dependency #2:

100%
Accepted

Test #15:

score: 12
Accepted
time: 2ms
memory: 3840kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
25
20 9 16 34385
0 1 196
1 2 733
2 3 758
3 4 92
4 5 636
5 6 462
6 7 491
7 8 239
8 9 873
9 10 983
10 11 72
11 12 988
12 13 690
13 14 162
14 15 287
15 16 247
16 17 121
17 18 140
18 19 64
20 9 13 37109
0 1 530
1 2 588
2 3 841
3 4 274
4 5 994
5 6 879
6 7 879
7 8 ...

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
25
25
32
30
30
29
27
29
26
34
29
26
28
27
28
25
29
31
25
35
31
29
32
32
32

result:

ok 

Test #16:

score: 12
Accepted
time: 6ms
memory: 3904kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
500 370 372 19501231139
0 1 617029
1 2 797198
2 3 612141
3 4 591522
4 5 350816
5 6 688732
6 7 453281
7 8 832047
8 9 259836
9 10 18218
10 11 771848
11 12 559096
12 13 175229
13 14 52243
14 15 644076
15 16 971271
16 17 808287
17 18 369695
18 19 213453
19 20 4...

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
771

result:

ok 

Test #17:

score: 12
Accepted
time: 0ms
memory: 4168kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
457 25 26 23461573
0 1 966726
1 2 347411
2 3 485905
3 4 803836
4 5 621204
5 6 767483
6 7 853669
7 8 510772
8 9 966639
9 10 221347
10 11 334454
11 12 553189
12 13 435896
13 14 294128
14 15 68783
15 16 492900
16 17 272820
17 18 566713
18 19 958845
19 20 28815...

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
23

result:

ok 

Test #18:

score: 0
Time Limit Exceeded

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
479 90 404 53062927890
0 1 698391
1 2 854901
2 3 299918
3 4 209753
4 5 125978
5 6 520489
6 7 823919
7 8 421785
8 9 57291
9 10 69394
10 11 44699
11 12 238062
12 13 272509
13 14 761088
14 15 488160
15 16 342026
16 17 452424
17 18 632018
18 19 387438
19 20 836...

output:


result:


Subtask #4:

score: 0
Skipped

Dependency #3:

0%

Subtask #5:

score: 9
Accepted

Test #36:

score: 9
Accepted
time: 1ms
memory: 3812kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
4 0 1 9
0 2 2
1 2 3
2 3 3

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
6

result:

ok 

Test #37:

score: 9
Accepted
time: 1ms
memory: 3784kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
4 0 1 8
0 2 2
1 2 3
2 3 100

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
5

result:

ok 

Test #38:

score: 9
Accepted
time: 1ms
memory: 4092kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
8 0 4 84
0 1 1
1 2 29
2 3 29
3 4 1
4 5 20
2 6 20
3 7 1

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
9

result:

ok 

Test #39:

score: 9
Accepted
time: 0ms
memory: 3816kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
18 14 15 221112
8 10 15984
3 8 2664
6 10 5328
9 10 13320
5 10 23976
1 10 13320
3 4 5328
3 7 26640
3 11 23976
4 15 23976
6 17 18648
12 17 5328
11 13 13320
0 11 7992
15 16 5328
2 16 5328
13 14 2664

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
14

result:

ok 

Test #40:

score: 9
Accepted
time: 0ms
memory: 3788kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
19 3 9 11232111
13 14 174955
0 13 69982
10 14 209946
14 15 209946
12 14 104973
0 11 314919
0 3 314919
0 7 139964
5 10 209946
10 16 69982
4 10 104973
9 11 279928
9 17 349910
1 4 104973
3 18 209946
6 18 174955
7 8 314919
2 7 104973

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
28

result:

ok 

Test #41:

score: 9
Accepted
time: 1ms
memory: 3788kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
15 5 7 155966
1 4 964448
5 11 996819
9 10 330180
5 6 987448
11 12 704605
0 5 155967
8 14 596631
10 11 923917
0 14 560902
4 13 49411
1 7 856694
1 12 755799
2 14 488208
3 13 990480

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
2

result:

ok 

Test #42:

score: 9
Accepted
time: 1ms
memory: 3876kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
20 4 7 40726445
15 18 841797
9 16 909512
0 7 39919
8 19 78725
6 17 661904
7 14 426400
17 18 664669
7 13 917960
4 14 821652
4 11 274656
1 12 937782
10 19 129031
12 13 504353
5 11 502915
3 8 264525
2 19 358409
12 18 578659
16 19 696491
3 17 175157

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
30

result:

ok 

Test #43:

score: 9
Accepted
time: 1ms
memory: 3808kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
19 1 8 758761123780644886
3 18 947982
12 13 415218
3 15 890432
11 17 808801
2 8 726510
7 12 752493
8 17 328133
6 7 465830
8 14 126540
9 18 443041
1 7 605214
4 11 243452
9 10 106626
3 7 498126
1 4 39081
0 2 861168
5 15 69635
3 16 223395

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
38

result:

ok 

Test #44:

score: 9
Accepted
time: 1ms
memory: 3788kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
18 4 10 8410500
14 16 912609
2 8 546082
2 12 129063
1 17 454917
15 17 85372
1 11 862697
4 11 428830
7 9 860609
8 10 119165
6 11 143393
14 17 789886
13 15 216341
4 5 56300
12 13 718046
0 7 354300
9 15 142154
1 3 310843

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
11

result:

ok 

Test #45:

score: 9
Accepted
time: 1ms
memory: 4080kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
18 14 15 23103649
0 6 382587
2 4 23201
2 3 58517
0 10 982598
0 17 283539
13 14 944945
4 6 576463
8 14 941541
7 16 566937
1 11 185982
3 9 360540
1 5 441702
4 16 808047
3 14 154737
3 15 344378
9 11 631318
7 12 552451

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
36

result:

ok 

Test #46:

score: 9
Accepted
time: 1ms
memory: 4088kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
18 7 13 25604
13 17 12802
5 14 39262
6 8 774165
2 11 834406
5 6 1
0 16 432886
3 6 1
2 14 272481
5 12 817066
4 9 40750
15 17 889075
1 7 12804
4 16 406687
5 17 1
3 10 875945
0 1 525803
1 3 1

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
3

result:

ok 

Test #47:

score: 9
Accepted
time: 0ms
memory: 3796kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
19 0 8 951764
0 1 4
1 2 4
2 3 4
3 4 307858
4 5 307858
5 6 4
6 7 4
7 8 4
4 9 121363
7 10 4
8 11 214606
5 12 999998
6 13 1000000
1 14 999995
10 15 999997
1 16 999994
13 17 999996
3 18 999991

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
13

result:

ok 

Test #48:

score: 9
Accepted
time: 1ms
memory: 3820kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
20 0 8 274829
0 1 2
1 2 2
2 3 2
3 4 2
4 5 2
5 6 2
6 7 2
7 8 2
4 9 548538
7 10 2
8 11 274686
6 12 999999
0 13 999995
6 14 999992
9 15 1000000
0 16 999997
9 17 999996
3 18 999998
0 19 999999

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
21

result:

ok 

Test #49:

score: 9
Accepted
time: 1ms
memory: 3812kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
18 6 13 58800010
7 11 555657
5 9 283104
0 16 323027
5 11 296013
9 15 584423
1 12 410839
7 13 314886
3 14 890353
4 12 174300
3 12 791983
2 5 216145
4 17 259612
3 16 732206
10 11 976379
8 16 650154
4 9 76441
6 8 589585

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
35

result:

ok 

Test #50:

score: 9
Accepted
time: 0ms
memory: 4048kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
18 5 10 24497819
9 15 154130
7 11 597308
2 11 617436
0 13 517318
3 16 400080
1 5 908978
1 8 181237
4 7 84199
3 6 758216
6 14 32279
11 17 498893
10 12 629338
2 15 180470
10 17 803430
13 16 226223
8 11 134253
4 13 618500

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
26

result:

ok 

Test #51:

score: 9
Accepted
time: 1ms
memory: 3812kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
20 13 17 8319375
13 14 4930
14 18 19720
6 18 104023
1 15 9367
1 19 37961
10 19 1479
14 17 90219
1 11 41905
8 17 986
2 17 4437
8 12 3451
7 12 1479
12 16 3451
3 11 4930
3 5 3944
3 4 4930
0 4 3944
6 15 473280
9 15 4437

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
39

result:

ok 

Test #52:

score: 9
Accepted
time: 1ms
memory: 3880kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
20 6 9 7859406
6 10 3451
4 10 125222
4 7 42891
5 8 17748
3 5 34510
1 3 4930
9 10 69020
5 12 78880
9 11 986
11 16 1972
2 12 1972
0 2 493
0 19 986
18 19 2958
8 15 77894
14 15 77894
13 14 77894
14 17 2958
7 13 77894

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
39

result:

ok 

Test #53:

score: 9
Accepted
time: 0ms
memory: 3744kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
18 9 14 2009
9 17 245
11 17 549633
10 11 419146
10 13 294
0 13 675465
0 4 743232
4 15 245
14 17 147
3 17 490
2 17 392
5 14 294
6 14 98
3 16 49
0 7 294
1 7 343
7 8 98
7 12 98

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
10

result:

ok 

Subtask #6:

score: 11
Accepted

Dependency #2:

100%
Accepted

Dependency #5:

100%
Accepted

Test #54:

score: 11
Accepted
time: 0ms
memory: 3796kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
5
18 1 13 527703
9 16 351802
9 14 879505
1 9 175901
8 9 879505
9 13 175901
3 9 703604
6 9 175901
1 10 175901
8 17 527703
8 12 703604
5 8 351802
4 17 351802
4 15 175901
3 11 351802
2 6 175901
7 12 175901
0 12 703604
18 4 6 4472320
7 14 279520
0 14 698800
4 14 ...

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
6
19
24
22
18

result:

ok 

Test #55:

score: 11
Accepted
time: 1ms
memory: 3796kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
2
44 16 42 39005566
31 34 546807
28 31 182269
24 31 546807
1 31 729076
31 37 546807
10 31 729076
11 34 182269
6 34 546807
8 34 911345
27 34 182269
21 34 182269
28 43 182269
0 28 364538
11 33 182269
11 13 546807
11 32 729076
6 25 364538
6 23 911345
3 6 729076
...

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
41
41

result:

ok 

Test #56:

score: 11
Accepted
time: 1ms
memory: 3820kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
100 32 48 845106325
6 47 185285
2 78 836794
33 48 295664
6 21 253358
35 72 880588
11 44 184179
34 64 928825
2 63 261345
14 86 699387
3 31 31794
36 94 747327
37 78 994837
32 86 948027
3 40 331681
73 94 648883
52 93 958759
1 46 4887
84 90 404000
4 17 709961
6...

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
194

result:

ok 

Test #57:

score: 11
Accepted
time: 4ms
memory: 3812kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
96 84 89 322172170266789279
59 67 633758
35 83 103776
62 69 201021
12 83 457669
23 31 16415
58 75 544975
57 82 25599
5 63 170193
4 69 298611
50 69 17985
40 75 42493
25 58 52116
15 37 664001
13 25 71685
40 77 752336
92 94 251061
19 51 853794
52 89 232557
15 ...

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
192

result:

ok 

Test #58:

score: 11
Accepted
time: 1ms
memory: 4052kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
100 16 37 23376956
60 61 405135
2 6 849031
32 88 456203
21 81 225578
76 87 645409
18 50 63591
18 49 189594
65 74 447036
23 48 286500
54 70 916023
64 68 782659
27 96 477944
13 96 801589
11 66 960926
17 37 589735
3 92 632529
7 80 663437
29 46 186860
26 39 832...

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
24

result:

ok 

Test #59:

score: 11
Accepted
time: 2ms
memory: 3896kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
96 46 87 72555
60 79 835730
8 20 117864
59 68 373812
6 22 371896
24 77 36342
48 85 1
3 40 798192
71 95 164580
15 63 811951
9 76 786454
59 91 654409
13 48 1
33 65 314024
50 60 312727
70 74 1
40 70 76777
7 21 777665
12 30 731652
41 61 993949
30 93 193466
16 2...

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
4

result:

ok 

Test #60:

score: 11
Accepted
time: 12ms
memory: 3892kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
93 0 84 971784
0 1 4
1 2 4
2 3 4
3 4 4
4 5 4
5 6 4
6 7 4
7 8 4
8 9 4
9 10 4
10 11 4
11 12 4
12 13 4
13 14 4
14 15 4
15 16 4
16 17 4
17 18 4
18 19 4
19 20 4
20 21 4
21 22 4
22 23 4
23 24 4
24 25 4
25 26 4
26 27 4
27 28 4
28 29 4
29 30 4
30 31 4
31 32 4
32 33...

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
90

result:

ok 

Test #61:

score: 11
Accepted
time: 6ms
memory: 3792kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
96 0 16 264179
0 1 2
1 2 2
2 3 2
3 4 2
4 5 2
5 6 2
6 7 2
7 8 2
8 9 2
9 10 2
10 11 2
11 12 2
12 13 2
13 14 2
14 15 2
15 16 2
8 17 526780
15 18 2
16 19 263699
16 20 1000000
7 21 999990
10 22 999995
14 23 999997
15 24 999991
3 25 999990
19 26 999994
7 27 99999...

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
38

result:

ok 

Test #62:

score: 11
Accepted
time: 21ms
memory: 3816kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
100 49 75 47947294
0 29 755378
12 69 849156
70 80 359155
2 91 457786
11 75 458243
82 98 508707
71 95 309547
29 91 668852
53 83 145865
5 86 825865
52 88 478712
13 60 824594
4 72 598862
9 92 2859
48 50 892094
15 73 429450
8 61 541918
54 79 163345
34 62 518852...

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
26

result:

ok 

Test #63:

score: 11
Accepted
time: 5ms
memory: 3832kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
98 59 64 225465811
49 82 212274
9 34 635323
6 8 116156
77 91 337118
16 86 870693
43 66 92662
25 95 969926
25 34 73072
54 85 22934
10 68 124707
17 75 700205
79 88 881772
31 52 334004
82 87 744234
54 63 31596
30 72 937619
22 88 424855
76 92 389233
86 96 64454...

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
93

result:

ok 

Test #64:

score: 11
Accepted
time: 3ms
memory: 4092kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
100 17 85 135644282
53 69 515082
4 13 65846
73 97 261373
47 49 111582
43 49 197806
12 59 583967
58 92 470380
18 70 297392
9 36 115677
87 97 507575
31 83 984667
21 85 832117
71 80 294632
62 84 479439
0 83 941584
89 97 18426
16 87 231642
1 52 78337
59 66 2581...

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
88

result:

ok 

Test #65:

score: 11
Accepted
time: 1ms
memory: 3892kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
1
86 50 75 88037663
23 50 441
23 69 968436
10 69 593880
10 20 343
17 20 513765
17 22 375536
3 22 98
23 75 490
23 82 98
23 80 392
23 26 147
58 75 490
75 79 196
75 76 441
24 58 441
15 58 98
58 78 196
12 58 294
58 62 392
24 53 490
24 66 490
14 24 196
24 33 490
2...

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
171

result:

ok 

Test #66:

score: 11
Accepted
time: 1ms
memory: 3820kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
2
56 41 49 27048
2 41 490
2 15 950257
15 24 857990
1 24 49
1 37 216237
23 37 933842
23 45 49
2 49 441
2 52 98
2 20 490
2 35 245
22 49 245
8 49 245
51 52 49
38 52 441
17 52 392
47 51 343
38 50 98
19 38 294
12 20 49
25 50 245
6 25 196
7 25 294
25 54 98
4 6 147
...

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
51
14

result:

ok 

Test #67:

score: 11
Accepted
time: 1ms
memory: 3792kb

input:

cc61ad56a4797fb3f5c9529f73ce6fcedd85669b
5
16 1 15 3528
13 15 343
10 13 516754
10 11 860685
3 11 147
3 14 238189
7 14 399644
7 8 98
1 13 392
9 13 294
1 4 441
5 9 98
5 12 441
2 14 196
2 6 147
0 2 392
25 11 24 10578301
11 15 3451
3 15 144449
3 8 65569
9 19 32538
19 20 28101
12 20 3944
15 24 90712
6 19...

output:

081ce3c351cbf526b37954b9ad30f2b531a7585c
OK
11
49
49
8
29

result:

ok 

Subtask #7:

score: 0
Skipped

Dependency #3:

0%

Subtask #8:

score: 0
Skipped

Dependency #4:

0%

Subtask #9:

score: 0
Skipped

Dependency #1:

0%