結果
問題 | No.1286 Stone Skipping |
ユーザー | persimmon-persimmon |
提出日時 | 2021-02-16 20:03:13 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 55 ms / 2,000 ms |
コード長 | 379 bytes |
コンパイル時間 | 448 ms |
コンパイル使用メモリ | 81,996 KB |
実行使用メモリ | 65,196 KB |
最終ジャッジ日時 | 2024-09-13 09:52:48 |
合計ジャッジ時間 | 2,648 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 26 |
ソースコード
d=int(input()) ans=d for i in range(1,61): def func(x): tmp=0 for _ in range(i): tmp+=x x//=2 if x==0:break return tmp l,r=d//2,d while r-l>1: x=(l+r)//2 t=func(x) if t==d: ans=min(ans,x) break elif d<t: l,r=l,x else: l,r=x,r if func(l)==d:ans=min(ans,l) if func(r)==d:ans=min(ans,r) print(ans)