Submission details
Task:Stations
Sender:Vludo
Submission time:2025-03-03 17:52:37 +0200
Language:C++ (C++20)
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
#40
#50
#60
Test results
testverdicttimegroup
#1ACCEPTED0.03 s1, 6details
#2ACCEPTED0.05 s1, 6details
#3ACCEPTED0.11 s1, 6details
#40.01 s1, 3, 6details
#50.01 s1, 3, 6details
#6ACCEPTED0.00 s1, 3, 6details
#7ACCEPTED0.12 s1, 6details
#8ACCEPTED0.12 s1, 6details
#9ACCEPTED0.12 s1, 6details
#10ACCEPTED0.11 s1, 6details
#11ACCEPTED0.12 s1, 6details
#12ACCEPTED0.10 s1, 6details
#13ACCEPTED0.01 s1, 2, 3, 4, 5, 6details
#140.00 s2, 3, 4, 5, 6details
#150.00 s3, 6details
#160.00 s3, 6details
#170.00 s4, 5, 6details
#180.00 s3, 4, 5, 6details
#190.00 s3, 4, 5, 6details
#20ACCEPTED0.00 s1, 3, 4, 5, 6details
#210.00 s4, 5, 6details
#220.00 s4, 5, 6details
#230.00 s4, 5, 6details
#240.00 s5, 6details
#250.00 s5, 6details
#260.00 s5, 6details
#270.00 s5, 6details
#280.00 s5, 6details
#290.00 s5, 6details
#300.00 s5, 6details
#310.00 s6details
#320.00 s6details
#330.00 s6details
#340.00 s6details
#350.00 s6details
#360.00 s6details
#370.00 s6details
#380.00 s6details

Code

#include<bits/stdc++.h>
using namespace std;
typedef pair<int,int> pii;
#define N ((int)1010)
#define F first
#define S second

int n, k;
vector<pii> v[N];
bool vis[1010][1010];
int result[N];
map<int,int> mem; 

void haku(int as) {
    vis[as][as] = true; 
    queue<pii> q;
    q.push({as, k});

    while (!q.empty()) {
        auto[s, fuel] = q.front();
        q.pop();
        for(pii i : v[s]) if (!vis[as][i.F]) {
            vis[as][i.F] = true;
            if (fuel < i.S) {
                //cout << s << "->" << i.F << ": "<<fuel<<endl; 
                q.push({i.F, k-i.S});
                result[s]+=mem[s+365987*i.F];
            }
            else q.push({i.F, fuel-i.S});
        }
    }
}
int osa2() {
    int s=0, i=1;
    for(;s<n;++s) 
        if (v[s].size()==1) break;
    while (i<=n) {
        int left = i-1;
        int right = n-i;
        result[s] = ((int)(right/k)*left+(int)(left/k)*right);
        if (v[s].size())
            s = ((v[s].size()>1 && v[s][1].F!=s) ? v[s][1].F : v[s][0].F);
        i++;
    }
    for (int i=0;i<n;++i) cout << result[i] << endl;
    return 0;
}
int main() {
    cin >> n >> k;
    int D = 0;
    for (int i=0;i<n-1;++i) {
        int a,b,c; 
        cin >> a >> b >> c;
        v[a].push_back({b,c});
        v[b].push_back({a,c});
        D = max(D, (int)max(v[a].size(), v[b].size()));
    }
    if (D<=2) return osa2(); 
    for (int i=0;i<n;++i) {
        for (pii j : v[i]) {
            int counter = 0;
            queue<pii> q;
            q.push({j.F,i}); 
            while (!q.empty()) {
                counter++;
                auto[s,e] = q.front();
                q.pop();
                for (pii ii : v[s]) if (ii.F!=e) {
                    q.push({ii.F, s});
                }
            }
            mem[i+365987*j.F]=counter;
        }
    }
    for (int i=0;i<n;++i) haku(i);
    for (int i=0;i<n;++i) cout << result[i] << endl;
}

Test details

Test 1

Group: 1, 6

Verdict: ACCEPTED

input
750 918
159 63 18
573 310 105
135 400 57
618 27 113
...

correct output
0
96
45
94
0
...

user output
0
96
45
94
0
...
Truncated

Test 2

Group: 1, 6

Verdict: ACCEPTED

input
967 334
285 176 1
648 431 1
493 893 2
261 165 1
...

correct output
0
0
0
0
0
...

user output
0
0
0
0
0
...
Truncated

Test 3

Group: 1, 6

Verdict: ACCEPTED

input
1000 963
408 385 876
23 519 951
649 232 605
821 385 792
...

correct output
0
0
482612
0
912
...

user output
0
0
482612
0
912
...
Truncated

Test 4

Group: 1, 3, 6

Verdict:

input
1000 396
412 257 190
290 965 25
399 938 174
980 459 117
...

correct output
215160
138947
196491
47632
103775
...

user output
0
0
0
0
0
...
Truncated

Test 5

Group: 1, 3, 6

Verdict:

input
1000 333
896 853 0
28 756 0
658 183 0
488 17 0
...

correct output
0
0
0
0
0
...

user output
0
0
0
0
0
...
Truncated

Test 6

Group: 1, 3, 6

Verdict: ACCEPTED

input
2 31
0 1 31

correct output
0
0

user output
0
0

Test 7

Group: 1, 6

Verdict: ACCEPTED

input
1000 847
24 298 474
208 141 485
789 89 60
1 809 437
...

correct output
16
1080
1966
5980
1856
...

user output
16
1080
1966
5980
1856
...
Truncated

Test 8

Group: 1, 6

Verdict: ACCEPTED

input
1000 767
476 799 361
271 239 215
447 941 269
219 664 600
...

correct output
1017
997
3988
1996
0
...

user output
1017
997
3988
1996
0
...
Truncated

Test 9

Group: 1, 6

Verdict: ACCEPTED

input
1000 1000
574 351 479
444 634 559
531 70 113
180 828 194
...

correct output
17839
4922
3988
0
0
...

user output
17839
4922
3988
0
0
...
Truncated

Test 10

Group: 1, 6

Verdict: ACCEPTED

input
1000 1000
680 881 340
73 368 929
303 239 219
861 605 561
...

correct output
88
3990
9954
0
0
...

user output
88
3990
9954
0
0
...
Truncated

Test 11

Group: 1, 6

Verdict: ACCEPTED

input
1000 1000
164 378 963
934 141 358
866 915 598
341 220 55
...

correct output
1996
0
1147
1996
18739
...

user output
1996
0
1147
1996
18739
...
Truncated

Test 12

Group: 1, 6

Verdict: ACCEPTED

input
1000 537
276 155 470
533 155 391
175 155 343
553 155 270
...

correct output
0
0
0
0
0
...

user output
0
0
0
0
0
...
Truncated

Test 13

Group: 1, 2, 3, 4, 5, 6

Verdict: ACCEPTED

input
2 1
0 1 1

correct output
0
0

user output
0
0

Test 14

Group: 2, 3, 4, 5, 6

Verdict:

input
70000 1
50913 18377 1
33894 11911 1
61940 7863 1
61602 33470 1
...

correct output
2128187656
1918647796
1539693556
1198079316
2227641388
...

user output
(empty)

Test 15

Group: 3, 6

Verdict:

input
70000 517272873
57335 18148 62837135
28239 56484 253183094
23004 59130 129215861
558 17489 52424960
...

correct output
450859
215263283
544492560
222149
1276050
...

user output
(empty)

Test 16

Group: 3, 6

Verdict:

input
70000 611016790
21272 16063 50360
30758 33429 30642
23317 5625 9045
66335 5731 24130
...

correct output
69999
102210
23584
30220
0
...

user output
(empty)

Test 17

Group: 4, 5, 6

Verdict:

input
69973 4
44281 27162 1
15299 61302 1
19250 66379 1
45970 65938 1
...

correct output
769608
34960
1162375
626228
2
...

user output
(empty)

Test 18

Group: 3, 4, 5, 6

Verdict:

input
70000 6
12580 20937 2
31244 33335 1
62095 66946 0
2558 64306 2
...

correct output
95678
275287413
81937227
47960445
176569
...

user output
(empty)

Test 19

Group: 3, 4, 5, 6

Verdict:

input
70000 10
45546 20793 0
44801 49720 0
54732 9736 0
64375 18647 0
...

correct output
0
0
0
0
0
...

user output
(empty)

Test 20

Group: 1, 3, 4, 5, 6

Verdict: ACCEPTED

input
2 6
0 1 6

correct output
0
0

user output
0
0

Test 21

Group: 4, 5, 6

Verdict:

input
70000 10
36906 67900 2
51465 24882 0
65531 32406 0
49018 50640 10
...

correct output
0
0
1141061037
69997
0
...

user output
(empty)

Test 22

Group: 4, 5, 6

Verdict:

input
70000 10
40966 26929 6
15381 7596 3
53090 61576 3
6976 65087 2
...

correct output
279988
0
0
56174160
0
...

user output
(empty)

Test 23

Group: 4, 5, 6

Verdict:

input
70000 10
47111 32841 10
510 5994 10
1362 44478 8
61688 30984 5
...

correct output
419980
0
979765
0
1679710
...

user output
(empty)

Test 24

Group: 5, 6

Verdict:

input
70000 7
12257 45873 7
53771 24407 7
67182 59338 2
68981 59097 6
...

correct output
0
0
0
0
56749
...

user output
(empty)

Test 25

Group: 5, 6

Verdict:

input
70000 7
60987 29710 2
40235 14667 3
49803 36218 0
1256 23603 0
...

correct output
559942
0
69996
0
0
...

user output
(empty)

Test 26

Group: 5, 6

Verdict:

input
70000 4
29827 12474 3
52717 68608 1
26411 5022 3
66140 68360 2
...

correct output
419970
0
0
202
0
...

user output
(empty)

Test 27

Group: 5, 6

Verdict:

input
70000 10
41642 65096 7
14235 28073 6
48132 705 7
23384 33897 0
...

correct output
139996
279988
0
0
0
...

user output
(empty)

Test 28

Group: 5, 6

Verdict:

input
70000 10
44002 46661 10
16351 40057 10
62342 69569 2
277 38372 1
...

correct output
0
0
559966
0
0
...

user output
(empty)

Test 29

Group: 5, 6

Verdict:

input
70000 10
11173 32861 3
13926 50906 10
18305 60850 3
13279 836 9
...

correct output
0
139996
2
0
0
...

user output
(empty)

Test 30

Group: 5, 6

Verdict:

input
70000 3
18748 12670 2
56209 12670 2
4918 12670 1
26713 12670 2
...

correct output
0
0
0
0
0
...

user output
(empty)

Test 31

Group: 6

Verdict:

input
67845 886519666
14071 38244 390226
23927 10508 4649507
24776 60617 7933069
44979 29276 6727041
...

correct output
43
0
395
0
81
...

user output
(empty)

Test 32

Group: 6

Verdict:

input
70000 598182175
35387 18369 177725639
34272 27820 390474503
14996 60451 566274308
31897 35730 516503530
...

correct output
0
0
0
2373343036
2449703732
...

user output
(empty)

Test 33

Group: 6

Verdict:

input
70000 307114024
18 68382 208881990
51105 51287 133487858
6935 48425 203987749
30063 35675 238707761
...

correct output
0
5457705
0
420055
0
...

user output
(empty)

Test 34

Group: 6

Verdict:

input
70000 260495634
10465 32381 229572819
59714 8684 92922283
44269 63680 232833764
47600 15978 126514599
...

correct output
350035
839810
1
0
477281
...

user output
(empty)

Test 35

Group: 6

Verdict:

input
70000 1000000000
40606 60962 166792
66689 16700 510579
39392 42623 271902
12827 150 783709
...

correct output
0
0
0
0
0
...

user output
(empty)

Test 36

Group: 6

Verdict:

input
70000 1000000000
18028 63559 764765
43037 44898 469661
22315 22254 359926
32987 69384 314936
...

correct output
0
0
0
0
0
...

user output
(empty)

Test 37

Group: 6

Verdict:

input
70000 1000000000
48195 15915 457746
7436 2784 442186
9122 3611 587852
31354 12943 476363
...

correct output
0
0
0
0
0
...

user output
(empty)

Test 38

Group: 6

Verdict:

input
70000 852351984
54341 29527 743304598
55902 29527 379127182
8584 29527 326761145
21272 29527 850588761
...

correct output
0
0
0
0
0
...

user output
(empty)