Submission details
Task:Shortest Routes I
Sender:ileska
Submission time:2025-10-01 21:20:22 +0300
Language:Python3 (CPython3)
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.02 sdetails
#20.03 sdetails
#30.03 sdetails
#40.03 sdetails
#50.03 sdetails
#60.82 sdetails
#70.83 sdetails
#80.82 sdetails
#90.82 sdetails
#100.82 sdetails
#11ACCEPTED1.24 sdetails
#120.43 sdetails
#13ACCEPTED0.03 sdetails
#14ACCEPTED1.01 sdetails
#151.41 sdetails
#161.11 sdetails
#17ACCEPTED0.79 sdetails
#18ACCEPTED1.12 sdetails

Code

# import heapq
from queue import PriorityQueue
from time import time
t0 = time()
cityCount, flightCount = [int(aa) for aa in input().strip().split(" ")]
flights = [tuple([int(aa) for aa in input().strip().split(" ")]) for _ in range(flightCount)]

# connMap = [[(end, tim) for start,end,tim in flights if (start == city)] for city in range(1,cityCount+1)]
# t0 = time()
connMap = [[] for city in range(cityCount)]
for start,end,cost in flights:
    connMap[start-1].append((end-1,cost))
    # connMap[end-1].append((start-1,cost))
# t1 = time()
# print(t1-t0)
# print(connMap)
# exit()
dists = [int(1E10) for _ in range(cityCount)]
dists[0] = 0
checked = [False for _ in range(cityCount)]

qq = PriorityQueue()
qq.put((0,0))
while not qq.empty():
    prio, city = qq.get()
    if (checked[city]): continue
    checked[city] = True
    for neighbor, cost in connMap[city]:
        if (dists[city] + cost < dists[neighbor]):
            dists[neighbor] = dists[city] + cost
            qq.put((-dists[neighbor], neighbor))
print(" ".join([str(aa) for aa in dists]))
t1 = time()

Test details

Test 1

Verdict: ACCEPTED

input
10 20
8 5 1
9 10 2
7 9 8
9 8 8
...

correct output
0 9 11 20 13 14 19 29 27 29 

user output
0 9 11 20 13 14 19 29 27 29

Test 2

Verdict:

input
10 20
5 6 4
5 1 7
7 4 4
7 8 1
...

correct output
0 7 9 17 15 17 21 22 25 30 

user output
0 7 9 17 15 17 21 22 25 31

Test 3

Verdict:

input
10 20
1 4 1
4 2 1
9 10 1
1 2 4
...

correct output
0 2 11 1 2 7 16 18 12 13 

user output
0 2 13 1 2 12 21 24 17 18

Test 4

Verdict:

input
10 20
6 3 5
7 5 8
5 1 8
8 9 5
...

correct output
0 5 9 18 22 10 14 23 27 36 

user output
0 5 9 18 26 10 14 30 27 36

Test 5

Verdict:

input
10 20
8 9 3
2 3 8
10 5 3
2 5 3
...

correct output
0 8 16 18 11 17 24 23 16 26 

user output
0 8 16 18 11 17 43 24 16 39

Test 6

Verdict:

input
100000 200000
18000 18001 426710313
73018 73012 558438094
87726 87671 355171790
53170 53171 869493690
...

correct output
0 479659405 1165315262 1854343...

user output
0 479659405 1165315262 1854343...

Test 7

Verdict:

input
100000 200000
26504 26450 258578924
49543 49544 28958186
75174 75175 89459846
39175 39228 119699475
...

correct output
0 655556128 1413395076 1814086...

user output
0 655556128 1413395076 1814086...

Test 8

Verdict:

input
100000 200000
39477 39413 773046299
69758 69759 558754983
23279 23280 142570619
61416 61479 874921013
...

correct output
0 269736525 626115013 70199222...

user output
0 269736525 626115013 85569911...

Test 9

Verdict:

input
100000 200000
76662 76636 844365635
73339 73342 755006676
89878 89879 396562588
18801 18781 954807004
...

correct output
0 598585836 1267139909 1803859...

user output
0 598585836 1267139909 1803859...

Test 10

Verdict:

input
100000 200000
11724 11725 818399968
33244 33197 722525474
65530 65531 483965413
62405 62454 199581867
...

correct output
0 387990617 441010945 92441292...

user output
0 387990617 441010945 92441292...

Test 11

Verdict: ACCEPTED

input
100000 200000
1 2 1
1 3 1
1 4 1
1 5 1
...

correct output
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

user output
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

Test 12

Verdict:

input
100000 99999
1 2 1000000000
2 3 1000000000
3 4 1000000000
4 5 1000000000
...

correct output
0 1000000000 2000000000 300000...

user output
0 1000000000 2000000000 300000...

Test 13

Verdict: ACCEPTED

input
1 1
1 1 1

correct output

user output
0

Test 14

Verdict: ACCEPTED

input
99999 149997
1 2 1
2 3 1
3 4 1
4 5 1
...

correct output
0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 ...

user output
0 1 1 2 2 3 3 4 4 5 5 6 6 7 7 ...

Test 15

Verdict:

input
99997 149994
1 3 3
3 5 3
5 7 3
7 9 3
...

correct output
0 1 2 3 4 5 6 7 8 9 10 11 12 1...

user output
0 1 2 4 5 7 8 10 11 13 14 16 1...

Test 16

Verdict:

input
60003 120000
1 2 30010
1 3 30010
1 4 30010
1 5 30010
...

correct output
0 30010 30010 30010 30010 3001...

user output
0 30010 30010 30010 30010 3001...

Test 17

Verdict: ACCEPTED

input
60003 120000
1 2 30010
1 3 30010
1 4 30010
1 5 30010
...

correct output
0 30010 30010 30010 30010 3001...

user output
0 30010 30010 30010 30010 3001...

Test 18

Verdict: ACCEPTED

input
100000 149997
1 50000 99997
1 49999 99995
1 49998 99993
1 49997 99991
...

correct output
0 1 3 5 7 9 11 13 15 17 19 21 ...

user output
0 1 3 5 7 9 11 13 15 17 19 21 ...