IT/coding study

[acmicpc] 1806. 부분합(python)

seyeonHello 2022. 9. 21. 18:30

two-pointer

import sys
input=sys.stdin.readline

N,S=map(int,input().split())
arr=list(map(int,input().split()))
answer=100000
left,right=0,0
value=arr[left]
while right<N:
    if value<S:
        right+=1
        if right<N:
            value += arr[right]
    else:
        answer=min(answer,right-left+1)
        value-=arr[left]
        left+=1
print(0 if answer==100000 else answer)