結果
| 問題 | No.2970 三次関数の絶対値 |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2024-11-29 21:39:21 |
| 言語 | Ruby (3.4.1) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 508 bytes |
| 記録 | |
| コンパイル時間 | 279 ms |
| コンパイル使用メモリ | 7,296 KB |
| 実行使用メモリ | 12,288 KB |
| 最終ジャッジ日時 | 2024-11-29 21:39:44 |
| 合計ジャッジ時間 | 6,165 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 38 WA * 12 |
コンパイルメッセージ
Syntax OK
ソースコード
C0, C1, C2, C3 = gets.split.map(&:to_f)
L, R = gets.split.map(&:to_f)
candidates = [L, R]
# 微分する f'(x) = ax2 + bx + c
a = 3 * C3
b = 2 * C2
c = C1
if a != 0
d = b**2 - 4 * a * c
if d >= 0
candidates << (-b + Math.sqrt(d)) / (2 * a)
candidates << (-b - Math.sqrt(d)) / (2 * a)
end
else
if b != 0
candidates << (-c / b)
end
end
candidates.filter! { L <= _1 and _1 <= R }
ans = candidates.map { |x| (C0 + (C1 + (C2 + C3 * x) * x) * x).abs }.min
puts ans