結果
問題 |
No.281 門松と魔法(1)
|
ユーザー |
![]() |
提出日時 | 2019-02-11 17:16:47 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,180 bytes |
コンパイル時間 | 138 ms |
コンパイル使用メモリ | 82,528 KB |
実行使用メモリ | 64,732 KB |
最終ジャッジ日時 | 2024-07-18 14:54:03 |
合計ジャッジ時間 | 4,614 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 31 TLE * 1 -- * 25 |
ソースコード
D = int(input()) H1 = int(input()) H2 = int(input()) H3 = int(input()) def is_kadomatsu(h1, h2, h3): return h1 != h3 and ((h1 < h2 and h3 < h2) or (h2 < h1 and h2 < h3)) def magic(h): return max(0, h-D) def magic_until(h,t): if t == 0: return 0,float('inf') i = 0 while t <= h: h = magic(h) i = i + 1 return h,i def recheck(h1, h2, h3): if is_kadomatsu(h1,h2,h3): return True,0 else: m = max(h1,h3) n = min(h1,h3) h4,i = magic_until(m,h2) h5,j = magic_until(h2,n) if i < j: return is_kadomatsu(h4 if h1 == m else h1, h2, h4 if h3 == m else h3),i else: return is_kadomatsu(h1, h5, h3),j def check(h1, h2, h3): if h1 == h2 and h2 == h3 and h1 == h3: h1 = magic(magic(h1)) h3 = magic(h3) return is_kadomatsu(h1,h2,h3),3 elif h1 == h3 and h1 != h2 and h3 != h2: h1 = magic(h1) if is_kadomatsu(h1,h2,h3): return True,1 else: return recheck(h1,h2,h3) else: return recheck(h1,h2,h3) found,i = check(H1,H2,H3) if found: print(i) else: print(-1)