結果

問題 No.846 メダル
ユーザー koi_kotya
提出日時 2019-07-05 21:57:56
言語 Ruby
(3.4.1)
結果
AC  
実行時間 94 ms / 2,000 ms
コード長 561 bytes
コンパイル時間 220 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 12,288 KB
最終ジャッジ日時 2024-10-06 21:35:40
合計ジャッジ時間 3,455 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 22
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #

x = gets.split.map(&:to_i)
y = gets.split.map(&:to_i)
y[1] += y[0]
y[2] += y[1]
ng = -1
ok = 10**19
while ok-ng > 1
    mid = (ok+ng)/2
    f = true
    3.times do |i|
        f = false if y[i] > (mid+x[i]-1)/x[i]
    end
    if f
        ok = mid
    else
        ng = mid
    end
end
ans1 = ok
ok = 0
ng = 10**19
while ng-ok > 1
    mid = (ok+ng)/2
    f = true
    3.times do |i|
        f = false if y[i] < (mid+x[i]-1)/x[i]
    end
    if f
        ok = mid
    else
        ng = mid
    end
end
if ans1 > ok
    puts "-1"
else
    puts "#{ans1} #{ok}"
end
0