結果
問題 | No.1251 絶対に間違ってはいけない最小化問題 |
ユーザー | tamura2004 |
提出日時 | 2021-01-22 20:32:48 |
言語 | Ruby (3.4.1) |
結果 |
TLE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 388 bytes |
コンパイル時間 | 254 ms |
コンパイル使用メモリ | 7,296 KB |
実行使用メモリ | 34,432 KB |
最終ジャッジ日時 | 2024-12-27 18:50:11 |
合計ジャッジ時間 | 64,028 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 25 TLE * 17 |
コンパイルメッセージ
Syntax OK
ソースコード
n = gets.to_s.to_i a = gets.to_s.split.map { |v| v.to_i } b = gets.to_s.split.map { |v| v.to_i } f = ->x { n.times.sum { |i| b[i] * (a[i] - x).abs } } lo = -1000000 hi = 1000000 while hi - lo > 2 # 40.times do left = (lo * 2 + hi) / 3 right = (lo + hi * 2) / 3 if f[left] < f[right] hi = right else lo = left end end x = (lo + hi) / 2 y = f[x] puts [x, y].join(" ")