結果

問題 No.1545 [Cherry 2nd Tune N] Anthem
ユーザー aaaaaaaaaa2230
提出日時 2021-06-12 16:20:22
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 1,998 ms / 3,000 ms
コード長 913 bytes
コンパイル時間 255 ms
コンパイル使用メモリ 82,428 KB
実行使用メモリ 229,924 KB
最終ジャッジ日時 2024-12-17 13:21:49
合計ジャッジ時間 25,873 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 67
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

from heapq import *
n,s,t,k = map(int,input().split())
s,t = s-1,t-1
X = list(map(int,input().split()))
m = int(input())
e = [[] for i in range(n)]
for i in range(m):
a,b,y = map(int,input().split())
e[a-1].append((b-1,y))
inf = 10**20
dis = [[inf]*k for i in range(n)]
par = [[[-1,-1]for _ in range(k) ]for i in range(n)]
dis[s][0] = X[s]
h = [(X[s],s,0)]
while h:
d,now,l = heappop(h)
if now == t and l == k-1:
print("Possible")
print(d)
ans = []
while now != -1:
ans.append(now+1)
now,l = par[now][l]
print(len(ans))
print(*ans[::-1])
exit()
if d != dis[now][l]:
continue
for nex, y in e[now]:
nd = d+y+X[nex]
nl = min(l+1,k-1)
if dis[nex][nl] > nd:
dis[nex][nl] = nd
heappush(h,(nd,nex,nl))
par[nex][nl] = [now,l]
print("Impossible")
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0