結果
問題 | No.1286 Stone Skipping |
ユーザー | siman |
提出日時 | 2021-01-01 13:49:58 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 112 ms / 2,000 ms |
コード長 | 415 bytes |
コンパイル時間 | 69 ms |
コンパイル使用メモリ | 7,680 KB |
実行使用メモリ | 12,544 KB |
最終ジャッジ日時 | 2024-10-11 02:44:54 |
合計ジャッジ時間 | 4,067 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 26 |
コンパイルメッセージ
Syntax OK
ソースコード
D = gets.to_i def f(x, limit = 1000) len = 0 cnt = 0 while x > 0 && cnt < limit len += x x /= 2 cnt += 1 puts len if limit == 1000 end len end ans = D (1..100).each do |limit| ng = 0 ok = 10 ** 19 while (ok - ng).abs >= 2 x = (ok + ng) / 2 if D <= f(x, limit) ok = x else ng = x end end ans = ok if f(ok, limit) == D && ans > ok end puts ans