문제풀이/누적합
[Python/파이썬] 백준 14929번 귀찮아 (SIB)
딜레이레이
2023. 3. 22. 22:14
14929번: 귀찮아 (SIB)
n과 xi가 주어짇나. n은 10만 이하ㅇ고, xi는 젗ㄹ댓값이 100이하인 정수디이다.
www.acmicpc.net
문제
입력
n과 $x_i$가 주어짇나. n은 10만 이하ㅇ고, $x_i$는 젗ㄹ댓값이 100이하인 정수디이다.
출력
위에서 구하란 걸 구하면 된ㄷ.
코드
n = int(input())
arr = list(map(int, input().split()))
res = 0
accumulate = [arr[0]]
for i in range(1, n):
accumulate.append(accumulate[i-1] + arr[i])
for j in range(n):
res += arr[j] * (accumulate[n-1] - accumulate[j])
print(res)
위의 식은 다음과 같이 나타낼 수 있다.
그러므로 누적합을 구해서 위의 코드와 같이 구할 수 있다.