結果
問題 |
No.614 壊れたキャンパス
|
ユーザー |
![]() |
提出日時 | 2018-08-03 21:23:30 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 966 bytes |
コンパイル時間 | 82 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 96,504 KB |
最終ジャッジ日時 | 2024-09-19 17:27:25 |
合計ジャッジ時間 | 10,109 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 9 WA * 2 TLE * 1 -- * 8 |
ソースコード
N,M,K,S,T = map(int,input().split()) roka = [] from_list = [[S,0]] to_list = [] ans = -1 def calc(from_list,to_list): next_list = [] for to in to_list: tmp_n = [to[1],float("inf")] for frm in from_list: step = abs(to[0]-frm[0])+frm[1] if tmp_n[1]>step: tmp_n[1]=step next_list.append(tmp_n[:]) return next_list[:] for i in range(M): roka.append(list(map(int,input().split()))) roka.sort() now_buil = 1 for rk in roka: if rk[0]==now_buil: to_list.append(rk[1:]) else: now_buil+=1 if rk[0]>now_buil: break else: from_list = calc(from_list,to_list) to_list = [rk[1:]] else: if now_buil+1 == N and M != 0: from_list = calc(from_list,to_list) ans = float("inf") for frm in from_list: step = abs(T-frm[0])+frm[1] if ans>step: ans=step print(ans)