Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from heapq import *
- n, m, k, t = map(int, input().split())
- e = [[] for _ in range(n+1)]
- for _ in range(n):
- ot, ku, p = map(int, input().split())
- e[ot].append((ku, p))
- e[ku].append((ot, p))
- ans = [10**10]*(n+1)
- ans[m] = 0
- #print(ans)
- ch = [(0, m)]
- while len(ch) > 0:
- l, curr = heappop(ch)
- for nbr,s in e[curr]:
- if l+s < ans[nbr]:
- ans[nbr] = l+s
- heappush(ch, (l+s, nbr))
- print("YES"+" "+str(ans[k]) if ans[k]<= t else "NO")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement