제출 #787079

#제출 시각아이디문제언어결과실행 시간메모리
787079beaconmcToys (CEOI18_toy)Pypy 3
100 / 100
1290 ms104288 KiB
from math import sqrt, floor
n = int(input())

divs = []
for i in range(1, floor(sqrt(n))+1):
    if n%i==0:
        divs.append(i)
        if i != n//i:
            divs.append(n//i)
divs.sort()

divind = dict()
for i in range(len(divs)):
    divind[divs[i]] = i


sus = [set() for i in range(len(divs)+1)]

sus[0].add(0)

for i in range(len(divs)):
    for j in range(1, len(divs)):
        if n%(divs[i] * divs[j]): continue

        for k in sus[i]:
            sus[divind[divs[i] * divs[j]]].add(k + divs[j]-1)
print(len(sus[-2]))
print(" ".join(map(str, sorted(sus[-2]))))
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...