結果
| 問題 |
No.281 門松と魔法(1)
|
| コンテスト | |
| ユーザー |
yaoshimax
|
| 提出日時 | 2016-05-13 13:50:52 |
| 言語 | Python2 (2.7.18) |
| 結果 |
AC
|
| 実行時間 | 12 ms / 1,000 ms |
| コード長 | 802 bytes |
| コンパイル時間 | 164 ms |
| コンパイル使用メモリ | 7,040 KB |
| 実行使用メモリ | 6,820 KB |
| 最終ジャッジ日時 | 2024-11-06 20:45:39 |
| 合計ジャッジ時間 | 2,353 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 57 |
ソースコード
d=int(raw_input())
H1=int(raw_input())
H2=int(raw_input())
H3=int(raw_input())
def kadomatsu(h1,h2,h3):
if h1<h2 and h2>h3 and h1!=h3:
return True
if h1>h2 and h2<h3 and h1!=h3:
return True
return False
if kadomatsu(H1,H2,H3):
print 0
exit()
if d==0:
print -1
exit()
if H3<H1:
H3,H1=H1,H3
ans=3000000000
# case H1<H2>H3
t1,t2=max(0,(H1-H2+d)/d),max(0,(H3-H2+d)/d)
h1,h3=max(0,H1-t1*d),max(0,H3-t2*d)
if kadomatsu(h1,H2,h3):
#print t1,"+",t2
ans=min(ans,t1+t2)
elif h3>0 and max(h3-d,0)!=h1:
#print t1,"+",t2,"+1"
ans=min(ans,t1+t2+1)
# case H1>H2<H3
t0=0
if H1==H3:
H1=max(0,H1-d)
t0=1
t1=(H2-H1+d)/d
h2=max(0,H2-t1*d)
if kadomatsu(H1,h2,H3):
#print H1,h2,H3
ans=min(ans,t0+t1)
if ans==3000000000:
ans=-1
print ans
yaoshimax