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로 풀었습니다.
'코딩' 카테고리의 다른 글
[BOJ] 1932 정수삼각형 Python (1) | 2023.11.03 |
---|---|
[Atcoder] ABC 326 C - Peak (1) | 2023.10.29 |
[BOJ] 백준 10164 격자상의 경로 Python (0) | 2023.10.28 |
[BOJ] 백준 3130번 붙인드롬 Python (0) | 2023.10.28 |
[BOJ] 백준 3671 산업스파이의 편지 Python (0) | 2023.10.28 |