結果
| 問題 |
No.3111 Toll Optimization
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-04-18 21:33:15 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 516 bytes |
| コンパイル時間 | 331 ms |
| コンパイル使用メモリ | 82,544 KB |
| 実行使用メモリ | 108,492 KB |
| 最終ジャッジ日時 | 2025-04-18 21:33:47 |
| 合計ジャッジ時間 | 17,655 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 44 WA * 17 RE * 9 |
ソースコード
from heapq import*
(n,m,k),c,*e=[[*map(int,s.split())]for s in open(0)]
g=[[]for _ in range(n)]
for i,(u,v)in zip(c,e):
g[u-1]+=(v-1,i),
g[v-1]+=(u-1,i),
q=[(0,0)]
INF=1<<60
s=[INF]*n
s[0]=0
while q:
c,p=heappop(q)
if s[p]<c:
continue
for v,nc in g[p]:
if s[v]>c+nc:
s[v]=c+nc
heappush(q,(s[v],v))
if s[-1]==INF:
exit(print(-1))
p=n-1
c=s[p]
d=[]
while p:
for v,nc in g[p]:
if s[v]+nc==s[p]:
d+=nc,
p=v
break
d.sort()
for _ in range(k):
d.pop()
print(sum(d))