Submission details
Task:Ladders
Sender:aalto25f_004
Submission time:2025-10-08 17:25:52 +0300
Language:Python3 (PyPy3)
Status:READY
Result:
Test results
testverdicttime
#10.05 sdetails
#20.05 sdetails
#30.05 sdetails
#40.05 sdetails
#50.05 sdetails
#60.05 sdetails
#70.05 sdetails
#80.05 sdetails
#90.05 sdetails
#100.05 sdetails
#110.05 sdetails
#120.05 sdetails
#130.05 sdetails
#140.05 sdetails
#150.05 sdetails
#160.05 sdetails
#170.05 sdetails
#180.05 sdetails
#190.05 sdetails
#200.05 sdetails
#210.04 sdetails
#220.05 sdetails
#230.05 sdetails
#240.05 sdetails
#250.05 sdetails
#260.05 sdetails
#270.05 sdetails
#280.05 sdetails
#290.05 sdetails
#300.05 sdetails
#310.05 sdetails
#320.05 sdetails
#330.05 sdetails
#340.05 sdetails
#350.05 sdetails
#360.05 sdetails
#370.05 sdetails
#380.05 sdetails
#390.05 sdetails
#400.05 sdetails
#410.05 sdetails
#420.05 sdetails
#430.05 sdetails
#440.05 sdetails
#450.05 sdetails
#460.06 sdetails
#470.05 sdetails
#480.05 sdetails
#490.05 sdetails
#500.05 sdetails
#510.05 sdetails
#520.07 sdetails
#530.08 sdetails
#540.07 sdetails
#550.06 sdetails
#560.10 sdetails
#570.10 sdetails
#580.07 sdetails
#590.09 sdetails
#600.09 sdetails
#610.08 sdetails
#620.00 sdetails
#630.00 sdetails
#640.00 sdetails
#650.00 sdetails
#660.00 sdetails
#670.28 sdetails
#680.18 sdetails
#690.00 sdetails
#700.00 sdetails
#710.00 sdetails

Code

from collections import deque


def min_moves(n, a):
    pos = [0] * (n + 1)
    for i in range(n):
        pos[a[i]] = i

    dist = [-1] * n
    dist[0] = 0

    queue = deque([0])

    while queue:
        print(queue)
        i = queue.popleft()
        if i == n - 1:
            return dist[i]

        if i + 1 < n and dist[i + 1] == -1:
            dist[i + 1] = dist[i] + 1
            queue.append(i + 1)

        val = a[i]
        multiple = 2 * val
        while multiple <= n:
            j = pos[multiple]
            if dist[j] == -1:
                dist[j] = dist[i] + 1
                queue.append(j)
            multiple += val

    return dist[n - 1]


if __name__ == "__main__":
    n = int(input())
    a = list(map(int, input().split()))
    print(min_moves(n, a))

Test details

Test 1

Verdict:

input
1

correct output
0

user output
deque([0])
0

Test 2

Verdict:

input
2
2 1 

correct output
1

user output
deque([0])
deque([1])
1

Test 3

Verdict:

input
2
1 2 

correct output
1

user output
deque([0])
deque([1])
1

Test 4

Verdict:

input
2
2 1 

correct output
1

user output
deque([0])
deque([1])
1

Test 5

Verdict:

input
3
2 3 1 

correct output
2

user output
deque([0])
deque([1])
deque([2])
2

Test 6

Verdict:

input
3
1 2 3 

correct output
1

user output
deque([0])
deque([1, 2])
deque([2])
1

Test 7

Verdict:

input
3
3 2 1 

correct output
2

user output
deque([0])
deque([1])
deque([2])
2

Test 8

Verdict:

input
4
3 2 1 4 

correct output
2

user output
deque([0])
deque([1])
deque([2, 3])
deque([3])
2

Test 9

Verdict:

input
4
4 3 2 1 

correct output
3

user output
deque([0])
deque([1])
deque([2])
deque([3])
3

Test 10

Verdict:

input
4
4 2 1 3 

correct output
3

user output
deque([0])
deque([1])
deque([2])
deque([3])
3

Test 11

Verdict:

input
4
3 2 1 4 

correct output
2

user output
deque([0])
deque([1])
deque([2, 3])
deque([3])
2

Test 12

Verdict:

input
4
1 3 2 4 

correct output
1

user output
deque([0])
deque([1, 2, 3])
deque([2, 3])
deque([3])
1

Test 13

Verdict:

input
5
3 2 4 1 5 

correct output
4

user output
deque([0])
deque([1])
deque([2])
deque([3])
deque([4])
...

Test 14

Verdict:

input
5
1 2 4 3 5 

correct output
1

user output
deque([0])
deque([1, 3, 2, 4])
deque([3, 2, 4])
deque([2, 4])
deque([4])
...

Test 15

Verdict:

input
5
5 3 1 2 4 

correct output
3

user output
deque([0])
deque([1])
deque([2])
deque([3, 4])
deque([4])
...

Test 16

Verdict:

input
5
3 1 4 2 5 

correct output
2

user output
deque([0])
deque([1])
deque([2, 3, 4])
deque([3, 4])
deque([4])
...

Test 17

Verdict:

input
5
1 2 3 4 5 

correct output
1

user output
deque([0])
deque([1, 2, 3, 4])
deque([2, 3, 4])
deque([3, 4])
deque([4])
...

Test 18

Verdict:

input
5
3 1 5 4 2 

correct output
2

user output
deque([0])
deque([1])
deque([2, 4, 3])
deque([4, 3])
2

Test 19

Verdict:

input
5
5 4 3 2 1 

correct output
4

user output
deque([0])
deque([1])
deque([2])
deque([3])
deque([4])
...

Test 20

Verdict:

input
5
5 3 1 4 2 

correct output
3

user output
deque([0])
deque([1])
deque([2])
deque([3, 4])
deque([4])
...

Test 21

Verdict:

input
5
5 4 3 2 1 

correct output
4

user output
deque([0])
deque([1])
deque([2])
deque([3])
deque([4])
...

Test 22

Verdict:

input
5
5 1 4 3 2 

correct output
2

user output
deque([0])
deque([1])
deque([2, 4, 3])
deque([4, 3])
2

Test 23

Verdict:

input
10
4 8 3 1 7 2 5 10 6 9 

correct output
3

user output
deque([0])
deque([1])
deque([2])
deque([3, 8, 9])
deque([8, 9, 4, 5, 6, 7])
...

Test 24

Verdict:

input
10
8 10 3 6 5 1 4 7 2 9 

correct output
3

user output
deque([0])
deque([1])
deque([2])
deque([3, 9])
deque([9, 4])
...

Test 25

Verdict:

input
10
4 1 2 7 5 10 8 6 9 3 

correct output
2

user output
deque([0])
deque([1, 6])
deque([6, 2, 9, 4, 7, 3, 8, 5]...

Test 26

Verdict:

input
10
10 9 7 2 5 1 3 4 6 8 

correct output
4

user output
deque([0])
deque([1])
deque([2])
deque([3])
deque([4, 7, 8, 9])
...

Test 27

Verdict:

input
10
1 2 3 4 5 6 7 8 9 10 

correct output
1

user output
deque([0])
deque([1, 2, 3, 4, 5, 6, 7, 8,...

Test 28

Verdict:

input
10
6 7 10 9 5 2 1 3 8 4 

correct output
6

user output
deque([0])
deque([1])
deque([2])
deque([3])
deque([4])
...

Test 29

Verdict:

input
10
10 9 8 7 6 5 4 3 2 1 

correct output
9

user output
deque([0])
deque([1])
deque([2])
deque([3])
deque([4])
...

Test 30

Verdict:

input
10
8 5 3 7 4 1 6 2 10 9 

correct output
3

user output
deque([0])
deque([1])
deque([2, 8])
deque([8, 3, 6, 9])
deque([3, 6, 9])
...

Test 31

Verdict:

input
10
10 9 8 7 6 5 4 3 2 1 

correct output
9

user output
deque([0])
deque([1])
deque([2])
deque([3])
deque([4])
...

Test 32

Verdict:

input
10
10 3 6 8 4 5 1 7 2 9 

correct output
2

user output
deque([0])
deque([1])
deque([2, 9])
deque([9, 3])
2

Test 33

Verdict:

input
100
14 63 92 70 7 59 86 25 60 9 73...

correct output
4

user output
deque([0])
deque([1, 91, 49, 50, 3, 27, 8...

Test 34

Verdict:

input
100
92 55 15 16 23 1 24 22 89 71 6...

correct output
6

user output
deque([0])
deque([1])
deque([2])
deque([3, 32, 87, 33, 14, 23])
deque([32, 87, 33, 14, 23, 4, ...

Test 35

Verdict:

input
100
34 58 2 29 82 83 47 100 91 35 ...

correct output
3

user output
deque([0])
deque([1, 69])
deque([69, 2])
deque([2, 70])
deque([70, 3, 85, 67, 25, 36, ...

Test 36

Verdict:

input
100
26 63 34 33 58 41 40 29 22 8 7...

correct output
5

user output
deque([0])
deque([1, 60, 43])
deque([60, 43, 2])
deque([43, 2, 61])
deque([2, 61, 44])
...

Test 37

Verdict:

input
100
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

correct output
1

user output
deque([0])
deque([1, 2, 3, 4, 5, 6, 7, 8,...

Test 38

Verdict:

input
100
6 85 10 52 5 84 64 92 89 31 60...

correct output
1

user output
deque([0])
deque([1, 58, 30, 61, 72, 71, ...

Test 39

Verdict:

input
100
100 99 98 97 96 95 94 93 92 91...

correct output
99

user output
deque([0])
deque([1])
deque([2])
deque([3])
deque([4])
...

Test 40

Verdict:

input
100
33 75 25 88 30 21 6 11 72 70 3...

correct output
5

user output
deque([0])
deque([1, 32, 13])
deque([32, 13, 2])
deque([13, 2, 33])
deque([2, 33, 14])
...

Test 41

Verdict:

input
100
30 86 34 36 29 12 39 7 65 23 3...

correct output
8

user output
deque([0])
deque([1, 47, 82])
deque([47, 82, 2])
deque([82, 2, 48])
deque([2, 48, 83])
...

Test 42

Verdict:

input
200
14 63 135 70 7 59 198 180 108 ...

correct output
6

user output
deque([0])
deque([1, 91, 49, 50, 3, 128, ...

Test 43

Verdict:

input
200
92 55 151 199 107 153 113 22 1...

correct output
5

user output
deque([0])
deque([1, 50])
deque([50, 2, 124, 49])
deque([2, 124, 49, 51])
deque([124, 49, 51, 3])
...

Test 44

Verdict:

input
200
34 58 2 29 82 162 47 100 91 35...

correct output
5

user output
deque([0])
deque([1, 69, 14, 28, 180])
deque([69, 14, 28, 180, 2, 26,...

Test 45

Verdict:

input
200
148 63 188 153 170 41 180 112 ...

correct output
9

user output
deque([0])
deque([1])
deque([2, 83, 153])
deque([83, 153, 3])
deque([153, 3, 84])
...

Test 46

Verdict:

input
200
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

correct output
1

user output
deque([0])
deque([1, 2, 3, 4, 5, 6, 7, 8,...

Test 47

Verdict:

input
200
175 162 119 135 5 84 180 92 89...

correct output
8

user output
deque([0])
deque([1])
deque([2])
deque([3])
deque([4])
...

Test 48

Verdict:

input
200
200 199 198 197 196 195 194 19...

correct output
199

user output
deque([0])
deque([1])
deque([2])
deque([3])
deque([4])
...

Test 49

Verdict:

input
200
160 75 25 88 30 21 6 11 72 70 ...

correct output
5

user output
deque([0])
deque([1])
deque([2, 113])
deque([113, 3, 129, 18, 176, 8...

Test 50

Verdict:

input
200
30 86 162 36 29 12 145 195 134...

correct output
4

user output
deque([0])
deque([1, 47, 182, 35, 68, 96]...

Test 51

Verdict:

input
200
47 121 66 36 23 37 113 151 60 ...

correct output
6

user output
deque([0])
deque([1, 92, 57, 55])
deque([92, 57, 55, 2])
deque([57, 55, 2, 93])
deque([55, 2, 93, 58])
...

Test 52

Verdict:

input
1000
934 460 976 361 744 297 198 66...

correct output
12

user output
deque([0])
deque([1])
deque([2, 381])
deque([381, 3])
deque([3, 382])
...

Test 53

Verdict:

input
1000
999 410 151 405 349 770 809 59...

correct output
12

user output
deque([0])
deque([1])
deque([2, 37])
deque([37, 3, 103, 210, 176, 6...

Test 54

Verdict:

input
1000
505 953 714 811 82 503 751 709...

correct output
9

user output
deque([0])
deque([1])
deque([2])
deque([3])
deque([4])
...

Test 55

Verdict:

input
1000
960 63 254 153 973 296 180 300...

correct output
6

user output
deque([0])
deque([1])
deque([2, 634, 153, 622, 31, 7...

Test 56

Verdict:

input
1000
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

correct output
1

user output
deque([0])
deque([1, 2, 3, 4, 5, 6, 7, 8,...

Test 57

Verdict:

input
1000
919 660 119 418 355 220 207 38...

correct output
8

user output
deque([0])
deque([1])
deque([2])
deque([3, 576, 114, 280, 392, ...

Test 58

Verdict:

input
1000
1000 999 998 997 996 995 994 9...

correct output
999

user output
deque([0])
deque([1])
deque([2])
deque([3])
deque([4])
...

Test 59

Verdict:

input
1000
219 802 25 833 912 846 639 806...

correct output
5

user output
deque([0])
deque([1, 858, 506, 469])
deque([858, 506, 469, 2])
deque([506, 469, 2, 859])
deque([469, 2, 859, 507])
...

Test 60

Verdict:

input
1000
821 625 397 588 943 372 469 30...

correct output
15

user output
deque([0])
deque([1])
deque([2])
deque([3, 51])
deque([51, 4])
...

Test 61

Verdict:

input
1000
749 481 66 36 256 37 113 712 5...

correct output
10

user output
deque([0])
deque([1])
deque([2, 479])
deque([479, 3, 905, 305, 422, ...

Test 62

Verdict:

input
100000
26990 68204 21904 3028 29287 1...

correct output
8

user output
(empty)

Test 63

Verdict:

input
100000
94616 96638 65840 9893 92126 1...

correct output
12

user output
(empty)

Test 64

Verdict:

input
100000
11080 90273 56653 73314 33646 ...

correct output
10

user output
(empty)

Test 65

Verdict:

input
100000
27548 48776 71938 59265 12094 ...

correct output
11

user output
(empty)

Test 66

Verdict:

input
100000
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

correct output
1

user output
(empty)

Test 67

Verdict:

input
100000
77221 89614 36710 27644 37101 ...

correct output
11

user output
deque([0])
deque([1])
deque([2])
deque([3, 52944])
deque([52944, 4, 33861, 55288]...

Test 68

Verdict:

input
100000
100000 99999 99998 99997 99996...

correct output
99999

user output
deque([0])
deque([1])
deque([2])
deque([3])
deque([4])
...

Test 69

Verdict:

input
100000
68737 37819 55518 77756 46481 ...

correct output
12

user output
(empty)

Test 70

Verdict:

input
100000
39437 53659 60243 20923 38668 ...

correct output
11

user output
(empty)

Test 71

Verdict:

input
100000
69631 70212 62831 61461 93551 ...

correct output
14

user output
(empty)