이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
range = xrange
n = int(raw_input())
div = set()
for i in range(1, 100000):
if n%i: continue
div|= {i, n//i}
div = sorted(div)
dp = {}
def add(n):
if n == 1: return {0}
if n in dp: return dp[n]
ans = set()
for d in div:
if d == 1 or n%d: continue
ans|= {d-1+x for x in add(n//d)}
dp[n] = ans
return ans
S = add(n)
print(len(S))
for x in sorted(S): print x,
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |