結果
| 問題 |
No.757 チャンパーノウン定数 (2)
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 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 |
ソースコード
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()