#내 답 -> 시간 초과
N, M = map(int,input().split())
#N : 수의 개수
#M : 합을 구해야하는 횟수
A = list(map(int,input().split()))
S = [0]
sum = 0
for i in range(N):
sum += A[i]
S.append(sum)
for _ in range(M):
i,j = map(int,input().split())
print(S[j]-S[i-1]) #S[3]-S[0]
#교재 참고해서 작성한 답.
import sys
input = sys.stdin.readline
N, M = map(int,input().split())
#N : 수의 개수
#M : 합을 구해야하는 횟수
A = list(map(int,input().split()))
S = [0] #1<=i<=j<=N 이라서...
sum = 0
for i in A:
sum += i
S.append(sum)
for _ in range(M):
i,j = map(int,input().split())
print(S[j]-S[i-1])
달라진거는 sys.stdin.readline으로 받은거랑, for i in 리스트 해서 리스트로 바로 받은 거 뿐인데 시간 차이가 많이 나네. 얼마나 차이 나는지 보려고 했는데 타임 아웃된건 안 알려줌.
sys.stdin.readline이랑 for 리스트로 바로 받는거 신경 써야겠다.
'프로그래밍 > Do it! 알고리즘 코딩테스트 - 파이썬 편' 카테고리의 다른 글
[파이썬/python] 백준 평균 1546번 (0) | 2025.03.01 |
---|---|
[파이썬/python]백준 숫자의 합 11720번 (0) | 2025.03.01 |