먼가 세그트리를 쓸수있을 것 같았으나 그냥 dp문제ㅋㅋ
import sys
input = sys.stdin.readline
# 소 N마리
N,Q = map(int,input().split())
A = list(map(int,input().split()))
dp = [0]*N
# 미리계산.
for i in range(N):
dp[i] = A[i]*A[i-1]*A[i-2]*A[i-3]
Qs = list(map(int,input().split()))
# 미리계산
ex_sum = sum(dp)
for idx in Qs:
for i in range(4):
new_idx = (idx-1+i)%N
dp[new_idx] = -dp[new_idx]
ex_sum+=2*dp[new_idx]
print(ex_sum)
'practivceAlgorithm > 백준' 카테고리의 다른 글
[백준][Python] 1561 놀이공원 (0) | 2021.08.03 |
---|---|
[백준][Python] 1251 단어나누기 (0) | 2021.08.03 |
[백준][Python] 11780 플로이드2 (0) | 2021.08.03 |
[백준][Python] 5624 좋은수 (0) | 2021.08.03 |
[백준][Python] 17845 수강과목 (0) | 2021.08.02 |