[구름] 외계인과 용돈기입장 Python 파이썬

0

Problem Solving

목록 보기
27/49
post-thumbnail
post-custom-banner

풀이

그냥 일일히 인덱싱을 해서 sum을 하면 timeout이 된다.
누적합을 저장하는 리스트를 하나 만든 뒤
b번째와 a-1번째를 뺀값을 출력한다.

input = __import__('sys').stdin.readline
n,m = map(int, input().split())
money = list(map(int,input().split()))
dp = [0]*(n+1)
dp[1] = money[0]

# dp테이블만들기
for i in range(2,n+1):
	dp[i] = dp[i-1]+money[i-1]
    
# 손익 계산
for _ in range(m):
	a, b = map(int, input().split())
	answer = dp[b]-dp[a-1]
	print('+'+str(answer) if answer > 0 else answer)

post-custom-banner

0개의 댓글