結果

問題 No.3013 ハチマキ買い星人
ユーザー norioc
提出日時 2025-02-04 00:46:04
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 1,024 ms / 2,000 ms
コード長 878 bytes
コンパイル時間 709 ms
コンパイル使用メモリ 82,668 KB
実行使用メモリ 129,556 KB
最終ジャッジ日時 2025-02-04 00:46:36
合計ジャッジ時間 23,928 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 45
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

from collections import defaultdict
from heapq import heappush, heappop
INF = 1 << 60
N, M, P, Y = map(int, input().split())
adj = defaultdict(list)
for _ in range(M):
A, B, C = map(int, input().split())
A -= 1
B -= 1
adj[A].append((B, C))
adj[B].append((A, C))
shops = []
for _ in range(P):
D, E = map(int, input().split())
D -= 1
shops.append((D, E))
# start ()
def dijkstra(start):
q = [(0, start)]
dists = [INF] * N
while q:
d, v = heappop(q)
if dists[v] <= d: continue
dists[v] = d
for to, cost in adj[v]:
c = dists[v] + cost
if dists[to] <= c: continue
heappush(q, (c, to))
return dists
dists = dijkstra(0)
ans = 0
for d, e in shops:
m = max(0, Y - dists[d])
ans = max(ans, m // e)
print(ans)
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0