코딩

[BOJ] 백준 17425 약수의 합 Python

척척석사아님 2023. 10. 28. 09:59
728x90
import sys
input = sys.stdin.readline

N = int(input())
A = []
for i in range (0,N):
    a = int(input())
    A.append(a)

b = max(A)
result = [0] * (b+1)
dp = [0] * (b+1)
for i in range (1,b+1):
    for j in range (i,b+1,i):
        result[j] += i
    dp[i] = dp[i-1] + result[i]
for i in range (0,N):
    print(dp[A[i]])

어렵지는 않았지만 시간을 얼마나 줄이는지가 중요했던 문제.

결국 Pypy로 풀었습니다.