CSES - Siperia opettaa 3.0 - Results
Submission details
Task:Toll Roads
Sender:zxc
Submission time:2016-07-29 16:32:14 +0300
Language:C++
Status:READY
Result:0
Feedback
groupverdictscore
#10
Test results
testverdicttime
#1ACCEPTED0.05 sdetails
#2ACCEPTED0.06 sdetails
#3ACCEPTED0.06 sdetails
#40.05 sdetails
#50.05 sdetails
#6ACCEPTED0.05 sdetails
#70.06 sdetails
#80.06 sdetails
#9ACCEPTED0.06 sdetails
#100.06 sdetails
#11ACCEPTED0.06 sdetails
#12ACCEPTED0.06 sdetails
#130.06 sdetails
#14ACCEPTED0.05 sdetails
#150.05 sdetails
#16ACCEPTED0.06 sdetails
#170.06 sdetails
#180.06 sdetails
#19ACCEPTED0.05 sdetails
#20ACCEPTED0.06 sdetails
#210.06 sdetails
#220.06 sdetails
#230.06 sdetails
#24ACCEPTED0.05 sdetails
#25ACCEPTED0.05 sdetails
#26ACCEPTED0.05 sdetails
#27ACCEPTED0.05 sdetails
#280.09 sdetails
#29--details
#30--details
#31--details
#32--details
#33--details
#34--details
#35--details
#36--details
#37--details
#38--details
#39--details
#40--details
#410.11 sdetails
#42--details
#43--details
#44--details
#45--details
#46--details
#47--details
#48--details
#49--details
#50--details
#51--details
#52--details
#53--details
#54ACCEPTED0.09 sdetails
#55--details
#56--details
#57--details
#58--details
#59--details
#60--details
#61--details
#62--details
#63--details
#64--details
#65--details
#66--details
#67--details
#68--details
#69--details
#70--details
#710.05 sdetails
#72ACCEPTED0.06 sdetails

Code

#include <bits/stdc++.h>
#define F first
#define S second
using namespace std;
vector<int> v[44455];
bool used[44455];
pair<int, pair<int, pair<int, int> > > ans = {1e9, {1e9, {0, 0}}};
set<pair<int, int> > lol;
int f(int x, int y) {
    used[x] = 1;
    if(x == y) return 1;
    for(auto z: v[x]) {
	if(!used[z]) {
	    int q = f(z, y);
	    if(q) lol.insert({x, z});
	    if(q) lol.insert({z, x});
	    if(q) return q+1;
	}
    }
    return 0;
}
pair<int, int> qwe;
void f2(int x, int d) {
    used[x] = 1;
    qwe = max(qwe, {d, x});
    for(auto y: v[x]) {
	if(!used[y]) {
	    f2(y, d+!lol.count({x, y}));
	}
    }
}

int main() {
    int n,k;
    cin>>n>>k;
    for(int i = 0; i < n-1; ++i) {
	int a,b;
	cin>>a>>b;
	v[a].push_back(b);
	v[b].push_back(a);
    }
    for(int i = 0; i < n; ++i) {
	for(int j = i; j < n; ++j) {
	    memset(used, 0, sizeof used);
	    lol.clear();
	    int d = f(i, j)-1;

	    qwe = {0, 0};
	    memset(used, 0, sizeof used);
	    f2(0, 0);
	    auto q2 = qwe;
	    memset(used, 0, sizeof used);
	    f2(q2.S, 0);
	    ans = min(ans, {qwe.F, {d, {i, j}}});

	}
    }
    cout<<ans.F<<'\n';
    cout<<ans.S.F<<'\n';
    if(ans.S.F > 0) {
	cout<<ans.S.S.F<<' '<<ans.S.S.S<<'\n';
    }
}

Test details

Test 1

Verdict: ACCEPTED

input
8 3
0 2
0 5
2 3
5 1
...

correct output
2
3
2 6

user output
2
3
2 6

Test 2

Verdict: ACCEPTED

input
5 2
0 1
0 2
0 3
0 4

correct output
2
0

user output
2
0

Test 3

Verdict: ACCEPTED

input
2 1
0 1

correct output
0
1
0 1

user output
0
1
0 1

Test 4

Verdict:

input
3 1
0 1
2 1

correct output
1
1
0 1

user output
0
2
0 2

Test 5

Verdict:

input
3 1
0 2
1 2

correct output
1
1
0 2

user output
0
2
0 1

Test 6

Verdict: ACCEPTED

input
3 2
0 2
1 2

correct output
0
2
0 1

user output
0
2
0 1

Test 7

Verdict:

input
4 1
0 3
0 1
3 2

correct output
2
1
0 3

user output
0
3
1 2

Test 8

Verdict:

input
4 2
0 3
0 1
3 2

correct output
1
2
0 2

user output
0
3
1 2

Test 9

Verdict: ACCEPTED

input
4 3
0 3
0 1
3 2

correct output
0
3
1 2

user output
0
3
1 2

Test 10

Verdict:

input
4 1
0 1
0 2
0 3

correct output
2
0

user output
1
2
1 2

Test 11

Verdict: ACCEPTED

input
4 2
0 1
0 2
0 3

correct output
1
2
1 2

user output
1
2
1 2

Test 12

Verdict: ACCEPTED

input
4 3
0 1
0 2
0 3

correct output
1
2
1 2

user output
1
2
1 2

Test 13

Verdict:

input
6 3
0 1
0 2
0 3
2 4
...

correct output
2
2
2 3

user output
1
4
4 5

Test 14

Verdict: ACCEPTED

input
6 3
0 1
0 2
0 3
2 4
...

correct output
2
1
0 2

user output
2
1
0 2

Test 15

Verdict:

input
8 5
0 1
1 2
2 3
0 4
...

correct output
2
4
2 5

user output
1
6
3 6

Test 16

Verdict: ACCEPTED

input
2 1
0 1

correct output
0
1
0 1

user output
0
1
0 1

Test 17

Verdict:

input
3 1
2 1
0 2

correct output
1
1
0 2

user output
0
2
0 1

Test 18

Verdict:

input
3 1
0 2
0 1

correct output
1
1
0 2

user output
0
2
1 2

Test 19

Verdict: ACCEPTED

input
3 2
1 0
1 2

correct output
0
2
0 2

user output
0
2
0 2

Test 20

Verdict: ACCEPTED

input
3 2
0 1
0 2

correct output
0
2
1 2

user output
0
2
1 2

Test 21

Verdict:

input
4 1
2 1
2 0
1 3

correct output
2
1
0 2

user output
0
3
0 3

Test 22

Verdict:

input
4 1
2 0
0 3
1 0

correct output
2
0

user output
1
2
1 2

Test 23

Verdict:

input
4 2
3 0
1 2
2 3

correct output
1
2
0 2

user output
0
3
0 1

Test 24

Verdict: ACCEPTED

input
4 2
1 0
0 3
0 2

correct output
1
2
1 3

user output
1
2
1 2

Test 25

Verdict: ACCEPTED

input
4 3
3 0
3 2
2 1

correct output
0
3
0 1

user output
0
3
0 1

Test 26

Verdict: ACCEPTED

input
4 3
1 0
3 0
2 0

correct output
1
2
1 3

user output
1
2
1 2

Test 27

Verdict: ACCEPTED

input
10 3
3 0
8 1
9 5
0 4
...

correct output
2
3
0 5

user output
2
3
0 5

Test 28

Verdict:

input
100 4
32 66
29 26
86 0
71 83
...

correct output
12
4
86 89

user output
10
8
70 97

Test 29

Verdict:

input
1000 1
155 994
213 449
582 440
277 0
...

correct output
22
1
1 330

user output
(empty)

Test 30

Verdict:

input
2500 10
517 660
971 230
982 1721
2200 2124
...

correct output
23
4
294 943

user output
(empty)

Test 31

Verdict:

input
5000 1
1611 2785
2978 4796
3783 4548
1074 1256
...

correct output
34
1
0 1611

user output
(empty)

Test 32

Verdict:

input
5000 2
3110 2737
2365 2830
2914 874
3720 2637
...

correct output
30
2
844 1623

user output
(empty)

Test 33

Verdict:

input
5000 4
664 4317
295 764
4857 1869
1111 1915
...

correct output
33
4
541 2936

user output
(empty)

Test 34

Verdict:

input
5000 8
4033 4112
3295 1781
1623 933
2035 1665
...

correct output
30
7
2605 4351

user output
(empty)

Test 35

Verdict:

input
5000 20
2304 353
834 2090
1767 72
3026 4211
...

correct output
26
12
1708 3762

user output
(empty)

Test 36

Verdict:

input
5000 100
1688 3447
496 2607
1054 2586
4259 2671
...

correct output
29
5
1379 2879

user output
(empty)

Test 37

Verdict:

input
5000 1000
638 3198
3452 4568
2723 2277
1947 4539
...

correct output
28
6
517 4411

user output
(empty)

Test 38

Verdict:

input
5000 2000
1451 4112
1730 1026
1556 1248
4723 678
...

correct output
28
6
82 4161

user output
(empty)

Test 39

Verdict:

input
5000 4000
3618 1301
2744 1363
1705 3118
2385 2886
...

correct output
28
11
1526 2510

user output
(empty)

Test 40

Verdict:

input
5000 4999
1647 992
3574 4278
2808 2380
3945 287
...

correct output
25
10
510 839

user output
(empty)

Test 41

Verdict:

input
100 4
48 94
54 34
25 31
12 16
...

correct output
18
3
13 24

user output
17
5
23 63

Test 42

Verdict:

input
1000 1
649 341
964 65
43 702
226 543
...

correct output
54
1
23 833

user output
(empty)

Test 43

Verdict:

input
2500 10
2238 1206
1470 365
1938 1220
962 2009
...

correct output
51
10
333 1068

user output
(empty)

Test 44

Verdict:

input
5000 1
1600 4821
4466 2988
261 1010
1777 2935
...

correct output
84
1
36 723

user output
(empty)

Test 45

Verdict:

input
5000 2
2161 2849
1729 1347
1763 2560
2098 2899
...

correct output
112
2
1 1769

user output
(empty)

Test 46

Verdict:

input
5000 4
3961 4831
2920 3199
4703 3118
201 1241
...

correct output
112
4
43 4157

user output
(empty)

Test 47

Verdict:

input
5000 8
3226 1183
3536 3297
2501 261
3071 4107
...

correct output
122
8
133 2017

user output
(empty)

Test 48

Verdict:

input
5000 20
1221 3603
3259 3147
3676 1561
4574 962
...

correct output
86
20
128 2391

user output
(empty)

Test 49

Verdict:

input
5000 100
50 2333
699 2904
4502 392
2177 3778
...

correct output
75
42
1627 3129

user output
(empty)

Test 50

Verdict:

input
5000 1000
1025 4349
3214 4639
4004 2506
652 4796
...

correct output
38
10
2964 4732

user output
(empty)

Test 51

Verdict:

input
5000 2000
4108 791
4770 1666
4203 4197
2566 728
...

correct output
48
19
2640 4559

user output
(empty)

Test 52

Verdict:

input
5000 4000
2183 3550
857 549
4752 3563
4198 4895
...

correct output
69
26
3244 4780

user output
(empty)

Test 53

Verdict:

input
5000 4999
4282 2328
4163 653
929 3214
3631 4207
...

correct output
79
26
2794 4878

user output
(empty)

Test 54

Verdict: ACCEPTED

input
100 4
51 84
32 89
92 51
67 4
...

correct output
5
3
14 50

user output
5
3
14 50

Test 55

Verdict:

input
1000 1
942 999
402 534
533 278
228 908
...

correct output
10
1
0 968

user output
(empty)

Test 56

Verdict:

input
2500 10
1639 991
640 223
1940 1067
801 257
...

correct output
12
2
2075 2395

user output
(empty)

Test 57

Verdict:

input
5000 1
1585 3293
3686 3851
1447 1604
392 2681
...

correct output
14
0

user output
(empty)

Test 58

Verdict:

input
5000 2
626 3760
2593 3177
1343 889
1377 596
...

correct output
14
0

user output
(empty)

Test 59

Verdict:

input
5000 4
1462 182
3060 4479
3021 4111
3145 2887
...

correct output
12
2
2219 3145

user output
(empty)

Test 60

Verdict:

input
5000 8
671 2837
3952 4186
828 1632
3885 2545
...

correct output
10
1
0 2405

user output
(empty)

Test 61

Verdict:

input
5000 20
3274 1781
3151 566
1298 1210
495 4010
...

correct output
14
0

user output
(empty)

Test 62

Verdict:

input
5000 100
487 1275
4234 2960
1502 3713
2471 819
...

correct output
10
1
0 4411

user output
(empty)

Test 63

Verdict:

input
5000 1000
2192 4468
4475 4665
81 4277
998 1960
...

correct output
12
1
0 910

user output
(empty)

Test 64

Verdict:

input
5000 2000
686 0
3311 3404
176 2362
119 2765
...

correct output
14
1
0 3007

user output
(empty)

Test 65

Verdict:

input
5000 4000
2848 3939
1514 2396
527 821
2586 4938
...

correct output
16
3
318 3675

user output
(empty)

Test 66

Verdict:

input
5000 4999
2128 1367
1616 1575
4936 3022
339 4210
...

correct output
10
0

user output
(empty)

Test 67

Verdict:

input
5000 4999
2858 558
4677 2444
3042 610
1950 4352
...

correct output
0
4999
0 1971

user output
(empty)

Test 68

Verdict:

input
5000 4999
0 3957
0 2864
0 2018
2678 0
...

correct output
2
0

user output
(empty)

Test 69

Verdict:

input
5000 1
2654 1880
2560 3683
4613 596
4860 1233
...

correct output
4998
1
0 1782

user output
(empty)

Test 70

Verdict:

input
5000 1
3762 0
0 2803
0 1387
610 0
...

correct output
2
0

user output
(empty)

Test 71

Verdict:

input
10 4
3 0
8 4
5 7
3 8
...

correct output
3
4
3 5

user output
2
5
3 7

Test 72

Verdict: ACCEPTED

input
10 5
1 3
5 9
9 2
6 3
...

correct output
2
5
2 6

user output
2
5
2 6