結果
| 問題 |
No.871 かえるのうた
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2019-11-10 21:27:08 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 191 ms / 2,000 ms |
| コード長 | 779 bytes |
| コンパイル時間 | 211 ms |
| コンパイル使用メモリ | 7,552 KB |
| 実行使用メモリ | 35,456 KB |
| 最終ジャッジ日時 | 2024-11-30 10:58:11 |
| 合計ジャッジ時間 | 7,357 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 49 |
コンパイルメッセージ
Main.rb:26: warning: assigned but unused variable - p Syntax OK
ソースコード
@x=[];a=[];@t=[]
n,k = gets.chomp.split(" ").map(&:to_i)
@x+=gets.chomp.split(" ").map(&:to_i)
a+=gets.chomp.split(" ").map(&:to_i)
def max(a,b)
if a > b
return a
elsif b > a
return b
else
return a
end
end
def min(a,b)
if a > b
return b
elsif b > a
return a
else
return a
end
end
p=@x[k-1]
l = r = k - 1
ld, rd = @x[k - 1] - a[k - 1], @x[k - 1] + a[k - 1]
updated = true
while(updated)
updated = false
while (l - 1 >= 0) and (ld <= @x[l - 1])
updated = true
l -= 1
ld = min(ld, @x[l] - a[l])
rd = max(rd, @x[l] + a[l])
end
while (r + 1 < n) and (rd >= @x[r + 1])
updated = true
r += 1
ld = min(ld, @x[r] - a[r])
rd = max(rd, @x[r] + a[r])
end
end
p (r - l + 1)