[백준] 1806 부분합

dev-log·2022년 3월 16일

투포인터 문제

import sys
input=sys.stdin.readline

n,m=map(int,input().split())

num=list(map(int,input().split()))
start,end=0,0
total=0
flag=1
answer=int(1e9)
for _ in range(n):
    while flag:
        if total>=m:
            answer=min(answer,end-start)
            break
        if end==n:
            flag=0
            break
        total+=num[end]
        end+=1
    total-=num[start]
    start+=1

if answer==int(1e9):
    print(0)
else:
    print(answer)

profile
배운 걸 기록하는 곳입니다.

0개의 댓글