結果
問題 | No.281 門松と魔法(1) |
ユーザー |
![]() |
提出日時 | 2015-09-18 23:58:33 |
言語 | Python2 (2.7.18) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,110 bytes |
コンパイル時間 | 153 ms |
コンパイル使用メモリ | 6,912 KB |
実行使用メモリ | 6,400 KB |
最終ジャッジ日時 | 2024-11-06 19:31:04 |
合計ジャッジ時間 | 2,179 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 37 WA * 15 RE * 5 |
ソースコード
import sys d = input() h = [] for i in xrange(3): h.append(input()) def is_finish(H): if (H[1] != H[0] and H[1] != H[2] and (min(H) == H[1] or max(H) == H[1])): return True else: return False def is_impossible(H): if (H[1] != H[0] and H[1] != H[2] and (min(H) != H[1] and max(H) != H[1])) and d == 0: return True else: return False def mod_min(H): diff = abs(H[1] - min(H[0], H[2])) H[1] -= (diff / d + 1) * d H[1] = max(H[1], 0) if H[1] != H[0] and H[1] != H[2] and min(H) == H[1]: #print "min" return diff / d + 1 return 1e+18+7 def mod_max(H): diff = abs(H[1] - max(H[0] ,H[2])) i = 0 if max(H[0],H[2]) == H[0] else 2 H[i] -= (diff / d + 1) * d H[i] = max(H[i], 0) if H[1] != H[0] and H[1] != H[2] and max(H) == H[1]: #print "max" return diff / d + 1 return 1e+18+7 def solve(): if is_finish(h): print 0 return if is_impossible(h): print -1 return res1 = mod_min(h[:]) res2 = mod_max(h[:]) if min(res1, res2) != 1e+18 + 7: print min(res1, res2) else: print -1 return def main(): solve() solve()