Solution
# 2003, 수들의 합 2
import sys
N, M = map(int, sys.stdin.readline().split())
arr = list(map(int, sys.stdin.readline().split()))
start, end, sum, count = 0, 0, 0, 0
while True:
if sum >= M:
if sum == M: # 합이 M이 되면 개수 1 증가
count += 1
sum -= arr[start] # start 위치 1 증가
start += 1
else:
if end == N: # end가 N이 되면 탐색 종료
break
sum += arr[end] # end 1 증가
end += 1
print(count)
'알고리즘 > 투포인터' 카테고리의 다른 글
파이썬 | 백준 | 1806 | 부분합 (0) | 2021.03.21 |
---|---|
파이썬 | 백준 | 2473 | 세 용액 (0) | 2021.02.21 |