結果
問題 |
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