結果
| 問題 |
No.281 門松と魔法(1)
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2017-06-26 21:18:37 |
| 言語 | Ruby (3.4.1) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 1,136 bytes |
| コンパイル時間 | 185 ms |
| コンパイル使用メモリ | 7,552 KB |
| 実行使用メモリ | 12,544 KB |
| 最終ジャッジ日時 | 2024-10-04 09:49:53 |
| 合計ジャッジ時間 | 6,530 ms |
|
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 52 WA * 3 RE * 2 |
コンパイルメッセージ
Main.rb:23: warning: ambiguous first argument; put parentheses or a space even after `-' operator Main.rb:31: warning: ambiguous first argument; put parentheses or a space even after `-' operator Main.rb:36: warning: ambiguous first argument; put parentheses or a space even after `-' operator Main.rb:42: warning: ambiguous first argument; put parentheses or a space even after `-' operator Main.rb:47: warning: ambiguous first argument; put parentheses or a space even after `-' operator Main.rb:59: warning: ambiguous first argument; put parentheses or a space even after `-' operator Syntax OK
ソースコード
def kadomatu?(a,b,c)
(a!=c)&&((a<b&&b>c)||(a>b&&b<c))
end
def say(t)
puts t;exit 0
end
def magic(h,d)
[0,h-d].max
end
d,a,b,c = STDIN.read.split.map(&:to_i)
say 0 if kadomatu?(a,b,c)
a,c = c,a if a > c
l = [a,b,c].min
if a==b && b==c
say -1 if l <= d
say 2
end
if [a,b,c].uniq.size == 2
if a==c
if a < b
say 1 if a>=1
say -1
else # a>b
say 1 if kadomatu?(magic(a,d),b,c)
say 3 if kadomatu?(magic(a,d*2),b,magic(c,d))
say 5 if kadomatu?(magic(a,d*3),b,magic(c,d*2))
say -1
end
end
# a<c
if a==b
say 1 if a>=1
say -1
else
# b==c
say 1 if kadomatu?(a,b,magic(c,d))
say 2 if kadomatu?(a,b,magic(c,d*2))
say -1
end
end
# a<b<c
result = []
result << (c-b+d-1)/d if kadomatu?(a,b,magic(c,(c-b+d-1)/d*d))
result << ((c-b+d-1)/d+1) if kadomatu?(a,b,magic(c,(c-b+d-1)/d*d+d))
result << (b-a+d-1)/d if kadomatu?(a,magic(b,(b-a+d-1)/d*d),c)
result << ((b-a+d-1)/d+1) if kadomatu?(a,magic(b,(b-a+d-1)/d*d+d),c)
say -1 if result.empty?
say result.min