結果
問題 |
No.2915 辺更新価値最大化
|
ユーザー |
👑 |
提出日時 | 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 |
ソースコード
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])