結果
問題 | No.2387 Yokan Factory |
ユーザー |
![]() |
提出日時 | 2024-06-29 03:15:00 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,621 ms / 5,000 ms |
コード長 | 1,181 bytes |
コンパイル時間 | 196 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 205,368 KB |
最終ジャッジ日時 | 2024-06-29 03:15:20 |
合計ジャッジ時間 | 15,278 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 35 |
ソースコード
from collections import defaultdict,Counter,dequefrom heapq import heappush,heappopdef main():N,M,X =map(int,input().split())e = [[] for _ in range(N)]m = 0for _ in range(M):u,v,a,b = map(int,input().split())u -= 1v -= 1m = max(b,m)e[u].append([v,a,b])e[v].append([u,a,b])for i in range(N):e[i].sort(key=lambda x:-x[2])ok = -1ng = m+1while ng - ok > 1:mid = (ok + ng)//2v = [1 << 60] * Nv[0] = 0f = [False] * Nq = []heappush(q,(0,0))while q:t,p = heappop(q)if p == N-1:breakif f[p]:continuef[p] = Truefor next,a,b in e[p]:if mid > b:breakif mid <= b and t + a <= X and t + a < v[next]:v[next] = t + aheappush(q,(v[next],next))if v[-1] <= X:ok = midelse:ng = midprint(ok)if __name__ == '__main__':main()