結果
問題 | No.2712 Play more! |
ユーザー |
![]() |
提出日時 | 2024-04-11 02:50:45 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 469 ms / 2,000 ms |
コード長 | 1,218 bytes |
コンパイル時間 | 393 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 78,164 KB |
最終ジャッジ日時 | 2024-10-02 21:18:41 |
合計ジャッジ時間 | 6,654 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 33 |
ソースコード
from collections import dequeN, M = map(int, input().split())A = list(map(int, input().split()))edge = [list(map(int, input().split())) for _ in range(M)]for i in range(M):edge[i][2] = A[edge[i][1]-1]-edge[i][2]INF = float("inf")dist = [-INF]*Ndist[0] = A[0]for i in range(N):flag = Falsefor j in range(M):a, b, c = edge[j]if dist[a-1]+c > dist[b-1]:dist[b-1] = dist[a-1]+cflag = Trueif not flag:print(dist[-1])breakelse:d = dist[:]for i in range(M):a, b, c = edge[i]if d[a-1]+c > d[b-1]:d[b-1] = d[a-1]+cG = [[] for _ in range(N)]for i in range(M):a, b, c = edge[i]G[a-1].append(b-1)visited = [False]*Nfor i in range(N):if d[i] != dist[i] and not visited[i]:visited[i] = Trueque = deque()que.append(i)while que:n = que.popleft()if n == N-1:exit(print("inf"))for v in G[n]:if not visited[v]:visited[v] = Trueque.append(v)print(dist[-1])