結果

問題 No.2865 Base 10 Subsets 2
ユーザー D M
提出日時 2025-02-10 17:07:27
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 42 ms / 2,000 ms
コード長 1,371 bytes
コンパイル時間 2,732 ms
コンパイル使用メモリ 82,196 KB
実行使用メモリ 53,812 KB
最終ジャッジ日時 2025-02-10 17:07:31
合計ジャッジ時間 2,214 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 12
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

def main():
import sys
data = sys.stdin.read().strip().split()
if not data:
return
N = int(data[0])
K = int(data[1])
# N ()
s = str(N)
L = len(s)
#
digits = [int(ch) for ch in s]
# i i+1
# suff[i] = (digits[i] + 1) * (digits[i+1] + 1) * ... * (digits[L-1] + 1)
suff = [1] * (L + 1)
suff[L] = 1
for i in range(L - 1, -1, -1):
suff[i] = suff[i + 1] * (digits[i] + 1)
# K (1-indexed)
# ※ 0digits[i] (digits[i]+1)
ans_digits = []
# 0-indexed X = K - 1
X = K - 1
for i in range(L):
# i suff[i+1]
block = suff[i + 1]
# 0digits[i]
d = X // block
ans_digits.append(str(d))
X %= block #
# (0 int() )
ans = int("".join(ans_digits))
sys.stdout.write(str(ans) + "\n")
if __name__ == '__main__':
main()
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0