https://www.acmicpc.net/problem/2003
2003번: 수들의 합 2
첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다.
www.acmicpc.net
n, m = map(int, input().split())
a = list(map(int, input().split()))
sum = a[0]
left = 0
right = 1
cnt = 0
while True:
if sum < m:
if right < n:
sum += a[right]
right += 1
else:
break
elif sum == m:
cnt += 1
sum -= a[left]
left += 1
else:
sum -= a[left]
left += 1
print(cnt)
sum -> 합을 기준으로 분기를 나눠서 풀었습니다
'💡 Codeing Test > 백준' 카테고리의 다른 글
백준 20165) 인내의 도미노 장인 호석 (0) | 2024.08.24 |
---|---|
백준 14719) 빗물 (python) (0) | 2024.03.14 |
백준 22862) 가장 긴 짝수 연속한 부분 수열 (large) (1) | 2024.03.08 |
백준 5525) IOIOI (python) (0) | 2024.03.07 |
백준 1495) 기타리스트 (python) (0) | 2024.03.05 |