結果
問題 | No.513 宝探し2 |
ユーザー | r_dream0 |
提出日時 | 2017-05-05 22:35:56 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 122 ms / 2,000 ms |
コード長 | 792 bytes |
コンパイル時間 | 123 ms |
コンパイル使用メモリ | 7,424 KB |
実行使用メモリ | 29,016 KB |
平均クエリ数 | 82.00 |
最終ジャッジ日時 | 2024-07-17 00:57:27 |
合計ジャッジ時間 | 2,684 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 12 |
コンパイルメッセージ
Syntax OK
ソースコード
def try(left, right) mid1 = (left * 2 + right) / 3 mid2 = (left + 2 * right) / 3 STDOUT.puts "0 #{mid1}" STDOUT.flush d1 = STDIN.gets.to_i STDOUT.puts "0 #{mid2}" STDOUT.flush d2 = STDIN.gets.to_i if d2 < d1 [mid1, right] else [left, mid2] end end def try2(left, right) mid1 = (left * 2 + right) / 3 mid2 = (left + 2 * right) / 3 STDOUT.puts "#{mid1} #{Y}" STDOUT.flush d1 = STDIN.gets.to_i STDOUT.puts "#{mid2} #{Y}" STDOUT.flush d2 = STDIN.gets.to_i if d2 < d1 [mid1, right] else [left, mid2] end end left, right = -1, 10 ** 5 + 1 40.times do |i| left, right = try(left, right) STDERR.puts "#{left} #{right}" end Y = (left + right) / 2 STDOUT.puts "0 #{Y}" STDOUT.flush x = STDIN.gets.to_i STDOUT.puts "#{x} #{Y}" STDOUT.flush