結果
問題 | No.1286 Stone Skipping |
ユーザー |
![]() |
提出日時 | 2023-11-04 10:59:05 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 691 bytes |
コンパイル時間 | 220 ms |
コンパイル使用メモリ | 81,792 KB |
実行使用メモリ | 57,344 KB |
最終ジャッジ日時 | 2024-09-25 21:55:30 |
合計ジャッジ時間 | 2,459 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 19 WA * 7 |
ソースコード
# coding: utf-8 # Your code here! D=int(input()) MAX_BOUND=64 def calc_distance(init_power): rev=0 while init_power: rev+=init_power init_power//=2 return rev ans=D for k in range(MAX_BOUND): high=2**(k+1)-1 low=2**k #error判定 high_distance=calc_distance(high) low_distance=calc_distance(low) if low_distance<=D<=high_distance: pass else: continue while high-low>1: middle=(high+low)//2 distance=calc_distance(middle) if distance>=D: high=middle else: low=middle ans=min(ans,high) print(ans)