結果
問題 |
No.757 チャンパーノウン定数 (2)
|
ユーザー |
|
提出日時 | 2018-12-05 19:05:04 |
言語 | PyPy2 (7.3.15) |
結果 |
AC
|
実行時間 | 357 ms / 2,000 ms |
コード長 | 642 bytes |
コンパイル時間 | 594 ms |
コンパイル使用メモリ | 76,800 KB |
実行使用メモリ | 80,768 KB |
最終ジャッジ日時 | 2024-07-19 18:50:08 |
合計ジャッジ時間 | 11,877 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 51 |
ソースコード
#!/usr/bin/python2 # -*- coding: utf-8 -*- # † from math import log def rep(B, i): return (B**i - 1) / (B-1) def g(B, i): if i == 1: return 1 if i == 2: return B return (i-2) * B**(i-1) + rep(B, i-1) * (B-2) + 2 def f(B, D): lo, hi = 0, 10**6 while hi - lo > 1: md = (lo + hi) / 2 if g(B, md) <= D: lo = md else: hi = md pos = g(B, lo) dif = D - pos z, r = divmod(dif, lo) w = z + B**(lo-1) m = int(log(w, B) + 1e-9) + 1 return (w / B**(m-1-r)) % B B = int(raw_input()) D = int(raw_input(), base=B) res = f(B, D) print res