結果

問題 No.757 チャンパーノウン定数 (2)
ユーザー nebukuro09nebukuro09
提出日時 2018-12-05 10:32:47
言語 PyPy2
(7.3.15)
結果
TLE  
実行時間 -
コード長 749 bytes
コンパイル時間 1,112 ms
コンパイル使用メモリ 76,324 KB
実行使用メモリ 93,312 KB
最終ジャッジ日時 2024-07-18 10:15:07
合計ジャッジ時間 8,969 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2 -- * 1
other AC * 26 TLE * 1 -- * 24
権限があれば一括ダウンロードができます

ソースコード

diff #

B = int(raw_input())
C = raw_input()
D = 0
b = 1
for i in xrange(len(C)-1, -1, -1):
    D += b * int(C[i])
    b *= B

def f(n):
    if n == 0:
        return 0
    else:
        return n * B ** n - (B ** n - 1) / (B - 1)

def solve1():
    hi = 10**6
    lo = 0
    while hi - lo > 1:
        mid = (hi + lo) / 2
        if f(mid) >= D:
            hi = mid
        else:
            lo = mid
    return hi

def solve2():
    keta = solve1()
    x = f(keta-1)
    a = B ** (keta-1)
    b = B ** keta - 1
    hi = (D - x) / keta + ((D - x) % keta > 0)
    lo = hi - 1
    x += lo * keta
    s = []
    hi += a - 1
    while hi > 0:
        s.append(str(hi % B))
        hi /= B
    s.reverse()
    #print x, D, s
    return s[D-x-1]

print solve2()
0