結果

問題 No.1449 新プロランド
ユーザー aaaaaaaaaa2230aaaaaaaaaa2230
提出日時 2021-03-31 21:50:29
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 390 ms / 2,000 ms
コード長 616 bytes
コンパイル時間 533 ms
コンパイル使用メモリ 81,920 KB
実行使用メモリ 84,516 KB
最終ジャッジ日時 2024-12-24 02:01:39
合計ジャッジ時間 6,280 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 49 ms
61,824 KB
testcase_01 AC 83 ms
76,288 KB
testcase_02 AC 115 ms
76,416 KB
testcase_03 AC 70 ms
70,656 KB
testcase_04 AC 86 ms
76,032 KB
testcase_05 AC 333 ms
83,364 KB
testcase_06 AC 253 ms
80,116 KB
testcase_07 AC 173 ms
78,180 KB
testcase_08 AC 244 ms
80,108 KB
testcase_09 AC 283 ms
80,536 KB
testcase_10 AC 179 ms
78,388 KB
testcase_11 AC 115 ms
76,928 KB
testcase_12 AC 231 ms
79,464 KB
testcase_13 AC 229 ms
78,600 KB
testcase_14 AC 119 ms
76,936 KB
testcase_15 AC 244 ms
79,844 KB
testcase_16 AC 202 ms
78,540 KB
testcase_17 AC 226 ms
79,060 KB
testcase_18 AC 38 ms
52,608 KB
testcase_19 AC 37 ms
53,504 KB
testcase_20 AC 38 ms
52,480 KB
testcase_21 AC 151 ms
78,076 KB
testcase_22 AC 116 ms
76,408 KB
testcase_23 AC 135 ms
77,268 KB
testcase_24 AC 187 ms
77,640 KB
testcase_25 AC 40 ms
52,480 KB
testcase_26 AC 64 ms
70,528 KB
testcase_27 AC 390 ms
84,516 KB
testcase_28 AC 358 ms
82,348 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

from heapq import heappush, heappop
n,m = map(int,input().split())

e = [[] for i in range(n)]
for i in range(m):
    a,b,c = map(int,input().split())
    a -= 1
    b -= 1
    e[a].append((b,c))
    e[b].append((a,c))
T = list(map(int,input().split()))

inf = 10**10
dis = [[inf]*(1002) for i in range(n)]

h = [(0,0,0)]
while h:
    d,p,now = heappop(h)
    p *= -1
    if dis[now][p] <= d:
        continue
    dis[now][p] = d
    np = min(p+T[now],1001)
    for nex,c in e[now]:

        if dis[nex][np] > dis[now][p]+T[now]+c//np:
            heappush(h, (dis[now][p]+T[now]+c//np,-np,nex))
print(min(dis[-1]))
0