結果

問題 No.2915 辺更新価値最大化
ユーザー 👑 p-adic
提出日時 2024-06-15 20:19:20
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 1,602 ms / 2,000 ms
コード長 481 bytes
コンパイル時間 489 ms
コンパイル使用メモリ 82,220 KB
実行使用メモリ 81,236 KB
最終ジャッジ日時 2024-07-29 20:30:47
合計ジャッジ時間 13,473 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 28
権限があれば一括ダウンロードができます

ソースコード

diff #

R=range
J=lambda:map(int,input().split())
N,M,Q=J()
E=[[]for i in R(N)]
F=[]
for j in R(M):u,v,w=J();E[u-1]+=[j];F+=[[u-1,v-1,-w]]
P=[9**20]*N
P[0]=0
for _ in R(N):
	for i,j,w in F:P[j]=min(P[j],P[i]+w)
import heapq
B=[1]*M
for j in J():
	B[j-1]^=1;W,S=[0]+[9**30]*N,[[0,0]]
	while S:
		w,i=heapq.heappop(S)
		if w>W[i]:continue
		for e in E[i]:
			if B[e]:
				i,j,v=F[e];v+=P[i]-P[j]
				if w+v<W[j]:W[j]=w+v;heapq.heappush(S,[w+v,j])
	print(["NaN",-W[N-1]-P[N-1]][W[N-1]<9**20])
0