結果
問題 | No.3013 ハチマキ買い星人 |
ユーザー |
![]() |
提出日時 | 2025-01-25 12:48:34 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 823 ms / 2,000 ms |
コード長 | 766 bytes |
コンパイル時間 | 132 ms |
コンパイル使用メモリ | 82,644 KB |
実行使用メモリ | 139,376 KB |
最終ジャッジ日時 | 2025-01-25 22:22:12 |
合計ジャッジ時間 | 19,610 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 45 |
ソースコード
n, m, p, y = map(int, input().split())ABC = [tuple(map(int, input().split())) for _ in range(m)]node = [[] for _ in range(n)]for i in range(m):u, v, c = ABC[i]u, v = u-1, v-1node[u].append((v, c))node[v].append((u, c))def dijk(start = 0):from heapq import heappop, heappushD = [float("INF") for _ in range(n)]hq = []heappush(hq, (0, start))D[start] = 0while hq:dist, now = heappop(hq)if D[now] < dist:continuefor nxt, d in node[now]:if D[nxt] > D[now] + d:D[nxt] = D[now] + dheappush(hq, (D[nxt], nxt))return DD = dijk()ans = 0for i in range(p):d, e = map(int, input().split())ans = max(ans, (y - D[d-1]) // e)print(ans)